software testing 101 - vector · software testing 101. 2 1. software quality 2. software testing...

21
V0.1 | 2018-10-30 Jeffrey Fortin – Product Manager VectorCAST Software Testing 101

Upload: others

Post on 24-Jun-2020

32 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

V0.1 | 2018-10-30

Jeffrey Fortin – Product Manager VectorCAST

Software Testing 101

Page 2: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

2

1. Software Quality

2. Software Testing Levels

3. Questions and Answers

Agenda

Page 3: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

3

Definition of Software Quality

Software Quality

1. ISO-24765:2010

Capability of a software product to satisfy stated and implied

needs when used under specified conditions (1)

Page 4: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

4

Impact of Poor Software Quality

Software Quality

1. https://www.nist.gov/sites/default/files/documents/director/planning/report02-3.pdf

Page 5: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

5

Balancing Risks and Rewards

Software Quality

Costs to Improve Quality

Benefits of Higher Quality

Page 6: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

6

Improving Process Efficiency

Software Quality

Action over Intent

Continuous Improvement

Establish a Culture of Quality

Page 7: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

7

1. Software Quality

2. Software Testing Levels

3. Questions and Answers

Agenda

Page 8: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

8

Current Testing Level Practices

Software Testing Levels

https://barrgroup.com/embedded-systems/survey/2018

Page 9: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

9

Software Testing Levels

Software Testing Levels

Unit Testing

Integration Testing

System Testing

Page 10: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

10

Unit Testing

Software Testing Levels

Call the function

Check the return value

Unit Testing

Integration Testing

System Testing

Page 11: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

11

Unit Test Case

Software Testing Levels

Unit Testing

Integration Testing

System Testing

Page 12: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

12

Unit Testing Features

Software Testing Levels

Stubs or Mock Functions

• Test the code in isolation

• Create test conditions that may be hard to do otherwise

Global Data

• Initialized before the call

• Checked after the call

Many Test Types

• Boundary conditions

• “magic” numbers

Unit Testing

Integration Testing

System Testing

Page 13: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

13

Unit Testing Benefits

Software Testing Levels

Small and Quick to Run

•Should be easy to re-run for each code change

Positive Side Effects

•Code is more modular

•Easier to reuse

Reduces Global Data

•You will tend to use global data less

•You are more likely to create access methods rather than directly access global data

Reduces overall effort

•Defects diagnosed at a fine grain level

•Debugging is limited to scope of the code changes

Unit Testing

Integration Testing

System Testing

Page 14: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

14

Integration Testing at the Unit Level

Software Testing Levels

Replace some or all stubs with real code

• Dependent units are linked into harness

Used to validate the stubs

• If tests fail, go back and update

• Some tests might only be possible in this configuration

Unit Testing

Integration Testing

System Testing

Page 15: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

15

System Testing

Software Testing Levels

Testing at the application level

Fully linked application

Testing interface is the application interface

May need to create test drivers

Unit Testing

Integration Testing

System Testing

Page 16: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

16

Integration Testing at the System Level

Software Testing Levels

Subsystem Testing

•Test Part of the application

•May be helpful to test a subsystem in isolation

•Can help with future reuse

•Validate design constraints (coupling)

Unit Testing

Integration Testing

System Testing

Page 17: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

17

Software Testing Strategy

Software Testing Levels

Software Testing

Lifecycle Plan

Identify Metrics

Generate Quality Reports

Take Action

Improve the

Process

Page 18: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

18

VectorCAST Testing Automation Platform

Software Testing Levels

Page 19: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

19

1. Software Quality

2. Software Testing Levels

3. Questions and Answers

Agenda

Page 20: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

20

Software Testing 101

Questions and Answers

!?

Page 21: Software Testing 101 - Vector · Software Testing 101. 2 1. Software Quality 2. Software Testing Levels 3. Questions and Answers Agenda. 3 Definition of Software Quality Software

21 © 2018. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.1 | 2018-10-30

Author:Jeffrey FortinVector

More Information!Visit our Website for:> News> Products> Demo Software> Support> Workshops> Contact Addresses

www.vector.com