optimizing software release cycle - vector...optimizing software release cycle 5 uimproved test...

13
V0.1 | 2019-05-10 Srinivas Optimizing Software Release Cycle

Upload: others

Post on 25-May-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

V0.1 | 2019-05-10

Srinivas

Optimizing Software Release Cycle

Page 2: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

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

Page 3: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

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

Page 4: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

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

Page 5: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

5

u Improved test readability.

u Decreased test maintenance.

u Improved support for variant testing

Test Values Dictionary

Optimizing Software Release Cycle

Page 6: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

6

Test Values Dictionary

Optimizing Software Release Cycle

Page 7: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

7

Configuration Setting in the VectorCAST Project

Optimizing Software Release Cycle

Page 8: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

8

Format of the Test Values XML file

Optimizing Software Release Cycle

Page 9: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

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

Page 10: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

10

Make Change-Based Testing Run Automatically (Continuous Integration)

Optimizing Software Release Cycle

RESULT: tests are running automatically, whenever neededAND results are always updated!

Page 11: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

11

DEMO

Optimizing Software Release Cycle

DEMO

Page 12: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

12

Q/A

Optimizing Software Release Cycle

Questions ?

Page 13: Optimizing Software Release Cycle - Vector...Optimizing Software Release Cycle 5 uImproved test readability. uDecreased test maintenance. uImproved support for variant testing Test

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