what is qa in embedded software - ut · what is qa in embedded ... initial development build...

44
CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc. What is QA in embedded software ? The Practical Industrial Experiences Nov 4, 2016 1 Dr Jason Lee

Upload: ngohuong

Post on 18-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

What is QA in embedded software ?The Practical Industrial Experiences

Nov 4, 2016

1

Dr Jason Lee

Page 2: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Outline

5 November 2016 2

• Background

– Research Background & Industrial Background

• How QA works in Embedded Software

• Blackbox vs Whitebox

• Types of Testing

• Exploratory Testing Overview

• Emerging Trends of DevOps

• How QA fits into DevOps

• Career as QA

• Conclusion + Q & ASoftware Engineering Lecture Series – The University of Tartu

Page 3: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Background

5 November 2016 3

• Senior Test Lead at Dolby

• Over 11+ years working experience in software testing

• Active researcher in software bug localization

• Adjunct Lecturer UWS and MQU

• ACM SEN Associate Editor

Software Engineering Lecture Series – The University of Tartu

Page 4: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Research Background – (I of III)

5 November 2016Software Engineering Lecture Series – The University of Tartu 4

• PhD in software testing

• Program spectra using dynamic analysis

• Aid programmers in debugging program – locating bugs

Page 5: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Research Background – (II of III)

5 November 2016 5

• Proposed spectra metrics in locating single bugs optimally

Software Engineering Lecture Series – The University of Tartu

Page 6: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Research Background – (III of III)

5 November 2016 6

• Proposed using different test coverage information in locating bugs

• Proposed using different algorithms in giving weights to importance of test cases

Software Engineering Lecture Series – The University of Tartu

Page 7: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Industrial Background (I of II)

5 November 2016 7

• Embedded software – walkie talkie, modem, mobile phones, tablets

• Building automation tools, test strategy and planning

• Delivering embedded audio technologies in System On Chip (SOC)

Software Engineering Lecture Series – The University of Tartu

Page 8: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Industrial Background (II of II)

5 November 2016 8

• Working on Android AOSP and iOS app

• Teams focus on different market segments – PC, Mobile, Gaming

Software Engineering Lecture Series – The University of Tartu

Page 9: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.5 November 2016 9

How QA Works in Embedded Software

• Drivers and stubs invoke APIs

• Customer use cases

• Machine language scripting

Software Engineering Lecture Series – The University of Tartu

Page 10: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.5 November 2016 10Software Engineering Lecture Series – The University of Tartu

Source: http://www.dhresource.com/600x600/f2/albu/g2/M00/B9/D9/rBVaGlbqAPCASR1KAATQoTUuplI169.jpg

Page 11: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.5 November 2016 11

QA Processes in Embedded Software Industries

Validation &

Verification

Find issues and anomalies

Logging issues and

bugs

Prioritize with DEV and PO

Retest fixed

bug(s)

Software Engineering Lecture Series – The University of Tartu

Page 12: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Blackbox vs Whitebox

5 November 2016 12

• Blackbox - Testing, either functional or non-functional, without reference to the internal structure of the component or system

Software Engineering Lecture Series – The University of Tartu

Source: https://devopsbootcamp.osuosl.org/_images/black-box.png

Page 13: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Blackbox vs Whitebox

5 November 2016 13

• Whitebox - Testing based on an analysis of the internal structure of the component or system

Software Engineering Lecture Series – The University of Tartu

Source: http://www.qaquench.com/wp-content/uploads/2015/09/whiteb.jpg

Page 14: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Types of Testing

5 November 2016 14

Manual• Basic UI• Localization test• Audio tools• Listening• Demo application

Automated• API level testing • Audio tools

Software Engineering Lecture Series – The University of Tartu

Page 15: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Exploratory Testing Overview

5 November 2016 15Software Engineering Lecture Series – The University of Tartu

Page 16: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Why Exploratory Testing ?

5 November 2016 16Software Engineering Lecture Series – The University of Tartu

Page 17: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Process Flow of Exploratory Testing

5 November 2016 17Software Engineering Lecture Series – The University of Tartu

Page 18: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Exploratory Session

5 November 2016 18

• Where to Use ?

• When to Use ?

• How it Fits ?

Software Engineering Lecture Series – The University of Tartu

Page 19: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

How Do We Explore ?

5 November 2016 19

Preparation Execution Reporting

Software Engineering Lecture Series – The University of Tartu

Page 20: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Preparation

5 November 2016 20

• Come up with a list of features to explore in the test session

• For every feature, select a subset of the use cases related to feature

• For every use case, come up with a set of use case scenarios

• Document them in an exploratory test session document

Software Engineering Lecture Series – The University of Tartu

Page 21: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Exploratory (Mission-based) Session Template

5 November 2016 21Software Engineering Lecture Series – The University of Tartu

Page 22: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Execution

5 November 2016 22

• Execute in time boxed session

• Collaborate with other members (DEV, QA, PM, UI designer etc.)

• Capture as part of the Agile user stories

Software Engineering Lecture Series – The University of Tartu

Page 23: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Example – Project K (I of III)

5 November 2016 23Software Engineering Lecture Series – The University of Tartu

• Project K – Session 1

• Aim: Explore the input and output file to the executables

• Abstract: Explore around this requirement as this is an initial development build released by DEV

• Session Time: 1 x 35 minutes session

• Test Environment: x86 machine

• Use Case Scenario:

#1: I would like to input file to the executable and expect the output file

Page 24: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Example – Project K (II of III)

5 November 2016 24Software Engineering Lecture Series – The University of Tartu

Test Notes Use Case Scenario:Feature Use Case Scenarios Outcome JIRA Ticket(s)

Input to the executable 1. I want to input a file to the executable and expect output

2. I want to input multiple files to the executables and expect output

3. I want to input missing input file to the executables

4. I want to input file without extension format

1. Output file output as expected and audible.2. Output file output only for the first input file but not for the others, no warnings produced.3. Not useful warning produced4. Not useful warning produced

1. N/A2. K-6683. K-6924. Same as #3

Page 25: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.4 November 2016Software Engineering Lecture Series – The University of Tartu 25

• Future Test Items:

• Retest the bug fixes for the above scenarios

• Expand exploratory test session around this area

• Action Items:

• Log Bugs found in session and link to tickets – Done

• Add test cases to TestLink for the above cases – To Do

Example – Project K (III of III)

Page 26: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Reporting

5 November 2016 26

• Debriefing phase

• Discussion, reporting the results and findings of the test session.

• This may include reporting:– use case scenarios that passed/failed– bugs found– alternative use case scenarios (future exploration ideas)– alternative testing approaches (alternative test setup).

Software Engineering Lecture Series – The University of Tartu

Page 27: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Emerging Trends of DevOps

5 November 2016 27Software Engineering Lecture Series – The University of Tartu

Page 28: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

What is DevOps ?

5 November 2016 28

– Practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.

Software Engineering Lecture Series – The University of Tartu

Page 29: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Background of DevOps

5 November 2016 29

• Aligned with Agile and lean approaches

• Emerged from effort businesses – respond to rapid changes

• Rapid movement and spreading throughout different organizations

Software Engineering Lecture Series – The University of Tartu

Page 30: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Where DevOps Sits In ?

5 November 2016 30Software Engineering Lecture Series – The University of Tartu

Page 31: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

DevOps – The Benefits

5 November 2016 31Software Engineering Lecture Series – The University of Tartu

Page 32: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Practical DevOps Tools

5 November 2016 32

• Git (GitHub)• Dockers• Jenkins• Splunk

Software Engineering Lecture Series – The University of Tartu

Page 33: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

What is Continuous Integration ?

5 November 2016 33Software Engineering Lecture Series – The University of Tartu

Page 34: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

What & How Continuous Integration Fits

5 November 2016 34

• Development practice requires developers integrate code into a shared repository several times a day

• Each check in verified by an automated build

- allow to detect problems early

• More than a process

Software Engineering Lecture Series – The University of Tartu

Page 35: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Continuous Integration - Steps

5 November 2016 35

DEV checkout

codeCommit changes to repo

Monitors the repo;

checks out changes

when they occur

Builds system

and runs tests

Releases artefacts testing

Assigns build

label to built code

version

Informs team of

build status

Software Engineering Lecture Series – The University of Tartu

Page 36: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Jenkins – Build Information

5 November 2016 37

Source: https://www.mirantis.com/blog/setting-external-openstack-testing-system-part-1/

Software Engineering Lecture Series – The University of Tartu

Page 37: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Jenkins – Test Results Reports

5 November 2016 38

http://www.michael-noll.com/blog/2013/01/25/bootstrapping-a-java-project-with-gradle/

Software Engineering Lecture Series – The University of Tartu

Page 38: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

SDLCs

5 November 2016 39Software Engineering Lecture Series – The University of Tartu

Page 39: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

How QA Fits into DevOps

5 November 2016 40

• Provide the ‘bridge’ to the Ops as customer advocates issues found

• Found issues and resolve effectively

• Velocity of feedback increases through iterative changes

• Automated tests reduces sizes of testing effort

Software Engineering Lecture Series – The University of Tartu

Page 40: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.5 November 2016 41Software Engineering Lecture Series – The University of Tartu

Page 41: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Career as QA

5 November 2016 42

• Learning curve in different domains

• Curious, inquisitive, think out of box

• Detail-oriented and problem solving skills

• Able to articulate the problems/issues found and possess strong communication skills

Software Engineering Lecture Series – The University of Tartu

Page 42: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Recap

5 November 2016 43

• Background

– Research Background & Industrial Background

• How QA works in Embedded Software

• Blackbox vs Whitebox

• Types of Testing

• Exploratory Testing Overview

• Emerging Trends of DevOps

• How QA fits into DevOps

• Career as QA

Software Engineering Lecture Series – The University of Tartu

Page 43: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.

Q&A

5 November 2016 44Software Engineering Lecture Series – The University of Tartu

Page 44: What is QA in embedded software - ut · What is QA in embedded ... initial development build released by DEV •Session Time: 1 x 35 minutes session ... How QA Fits into DevOps

CONFIDENTIAL INFORMATION © 2016 Dolby Laboratories, Inc.5 November 2016 45