optimizing software release cycle - vector...optimizing software release cycle 5 uimproved test...
TRANSCRIPT
V0.1 | 2019-05-10
Srinivas
Optimizing Software Release Cycle
2
Agenda
Optimizing Software Release Cycle
u Change Based Testing
u Managing Different Configurations
u Change Based Testing and Continuous Testing
u Demo
u Q&A
3
Tests may become numerous
u Running them all takes time
Change-based testing identifies which tests must run
u Based on changes to the code
u If affected functions changed, rerun, otherwise not (waste of time)
Result: a faster, more automated testing cycle
u Hence you can test more often
Code changes are constant :Test less, but more often
Optimizing Software Release Cycle
void func1(void)
{
/* I have changed! */
}
void func2(void)
{
/* I have NOT changed! */
}
Tests A, B, D, …
Tests A, C, E, J, Z
4
Some of the few challenges are :
u Same set of test cases being executed
on different versions of same code bases ( Ex: Production Code , R&D Code etc)
u Resource Bottle neck
u Same code base runs on different
platform with may be different macro values(Symbolic Constants)
Managing different configurations\Calibrations
Optimizing Software Release Cycle
5
u Improved test readability.
u Decreased test maintenance.
u Improved support for variant testing
Test Values Dictionary
Optimizing Software Release Cycle
6
Test Values Dictionary
Optimizing Software Release Cycle
7
Configuration Setting in the VectorCAST Project
Optimizing Software Release Cycle
8
Format of the Test Values XML file
Optimizing Software Release Cycle
9
Optimizing Software Release Cycle
Early Detection
1.Engineer modifies code that is faulty
2.Engineers commits code
3.Continuous integration system launches Change-Based TestingERROR DETECTED IMMEDIATELY
4.Notification is given to the team, correction is brought to the codeNot ideal since bug was introduced in code base
Error Prevention
1.Engineer modifies code that is faulty
2.Engineer opens test tool on his/her own PC and runs Change-Based Testing(first downloads latest results from server)
3.ERROR DETECTED – no one is impacted except the engineer
4.The code is committed when no tests are failing
Both approaches reduce debugging time significantly but error prevention completely eliminates the (negative) impact
of bug introduction onto the other team members
Early Detection vs Error Prevention with Change-Based Testing
10
Make Change-Based Testing Run Automatically (Continuous Integration)
Optimizing Software Release Cycle
RESULT: tests are running automatically, whenever neededAND results are always updated!
11
DEMO
Optimizing Software Release Cycle
DEMO
12
Q/A
Optimizing Software Release Cycle
Questions ?
13 © 2017. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V6.14 | 2017-10-06
For more information about Vectorand our products please visit
www.vector.com
R Srinivas
FAE
www.vectorcast.com