+ All Categories
Home > Technology > Test designandmanagementfreenest1dot4

Test designandmanagementfreenest1dot4

Date post: 28-Jan-2015
Category:
Upload: marko-narsuman-rintamaeki
View: 103 times
Download: 0 times
Share this document with a friend
Description:
Test Design and FreeNest 1.4 Draft Material
Popular Tags:
88
Transcript
Page 1: Test designandmanagementfreenest1dot4
Page 2: Test designandmanagementfreenest1dot4

Test Design and Management in context of IFDK reference product

Page 3: Test designandmanagementfreenest1dot4

About this course material - This material if for general training for Test

Design and management - Material is more supportive in class room - Material will be updated during courses - FreeNest Portable Project Platform is used to

demonstrate things only in practice. This is not limiting usage for material for other training environments (I hope )

About material

Page 4: Test designandmanagementfreenest1dot4

Example of IFDK product concept

IFDK = Internal Flame Drum Kit

Requirement Management

Page 5: Test designandmanagementfreenest1dot4

Yläotsikko

Seller

Customer

Developer

Different aspects to product

QA Tester

Page 6: Test designandmanagementfreenest1dot4

Different requirement levels

Customer/Business/Stake

Holder Requirements

System Requirements

Design Requirements

Component Requirements

Implementation

Scalability

Stability

Performance

Security

Performance

Stress

Usabilty

Page 7: Test designandmanagementfreenest1dot4

V-Model in testing

Customer Requirements

Sub System Requirements

Component Requirements Component/Unit Testing

Integration Testing

System Testing

Acceptance Testing

System Requirements

Verification and Validation

Verification = Are we building the product right? Validation = Are we building the right product?

Yläotsikko

Page 8: Test designandmanagementfreenest1dot4

System Testing

Integration Testing

Unit Testing

Customer/Business/Stake

Holder Requirements

System Requirements

Design Requirements

Component

Requirements

Acceptance Testing

Why we need requirements from testing point of view?

Implementation

„Developer's Area“

„Test Engineers Area“

”Traditional Testing Levels”

Page 9: Test designandmanagementfreenest1dot4

Customer/Business Requirements

Sub System Requirements

Component Requirements

Component / Unit Testing

Integration Testing

System Testing

Acceptance Testing

System Requirements

IFDK System Verification and Validation

Use Cases

User Storys

Features

Requirements

Validation = Are we building the right product? Verification = Are we building the product right?

Architecture& Design&

Implementation

Product VALIDATION

VERIFICATION

IFDK Product Ideas

Yläotsikko

VALIDATION vs VERIFICATION?

Page 10: Test designandmanagementfreenest1dot4

You have vision of product What means testing in brief?

Features Test Case

Use Cases

User Storys

Product Design & Implementation

Requirements

Test Case

Test Case

Test Case

Ready to test

Testing & Quality Assurance

Can we deliver Product

Ready to Deliver

? Customer Not ready to deliver

Yläotsikko

Page 11: Test designandmanagementfreenest1dot4

Verification vs Validation?

Features Test Case

Use Cases

User Storys

Product Design & Implementation

Requirements

Test Case

Test Case

Test Case

Ready to test

Testing & Quality Assurance

Can we deliver Product

Ready to Deliver

? Customer Not ready

to deliver

Verification Validation

Validation = Are we building the right product? Verification = Are we building the product right?

Page 12: Test designandmanagementfreenest1dot4

SW Development Process (Waterfall)

Requirement Gathering/Evaluatio

n

Design

Implementation

Verification & Validation

Maintenance Error Managment Process

Task1 Task1 Task1 Task1

Mile Stone 1 Mile Stone 2 Mile Stone 3

Task1 Task1

Page 13: Test designandmanagementfreenest1dot4

Testing Orientation

http://en.wikipedia.org/wiki/Software_testing

White Box Testing

Grey Box Testing

Black Box Testing “SYSTEM TESTING”

Perspective

“CODE LEVEL TESTING” Perspective

Page 14: Test designandmanagementfreenest1dot4

Black Box vs White Box Testing

Unit Testing is White Box testing Black Box Testing

for selected

component

? ?

Yläotsikko

Page 15: Test designandmanagementfreenest1dot4

TESTING LEVELS

Page 16: Test designandmanagementfreenest1dot4

Unit/Module/Component Testing

Customer/Business Requirements

Sub System Requirements

Component Requirements

Component / Unit Testing

Integration Testing

System Testing

Acceptance Testing

System Requirements

Architecture&

Design&

Implementatio

n

Product

VALIDATION

VERIFICATION

Yläotsikko

Page 17: Test designandmanagementfreenest1dot4

How to Test?

What should be tested? How ?

Page 18: Test designandmanagementfreenest1dot4

How to test?

What should be tested? How ?

Page 19: Test designandmanagementfreenest1dot4

How to verify component implementation

-Unit Testing

-Code Coverage

-Branch Coverage

-Complexity

Analyse

Yläotsikko

Page 20: Test designandmanagementfreenest1dot4

Component /Unit Testing

Class

Attributes

Class

Methods

Class

Attributes

Class

Methods

Attributes

TestClass

TestMethodCall

Unit Test Frame Work

Test Method Call

Method Result

A=1 B=2 C=Class.TestMethodCountValues(A+B) C<>3 FAIL C=3 PASS

Implemented Class

MethodCountValues( int x, int y) z=x+y+1 Return z

Developer

Page 21: Test designandmanagementfreenest1dot4

Code Coverage

An analysis method that determines which parts of

the software have been executed (covered) by the

test suite and which parts have not been executed,

e.g. statement coverage, decision coverage or

condition coverage.

http://en.wikipedia.org/wiki/Code_coverage

http://www.atlassian.com/software/clover/

Yläotsikko

Page 22: Test designandmanagementfreenest1dot4

Branch coverage

The percentage of branches that have been

exercised by a test suite. 100% branch coverage

implies both 100% decision coverage and 100%

statement coverage.

Yläotsikko

Page 23: Test designandmanagementfreenest1dot4

Code Complexity

Example tool CCCC

https://wiki.jenkins-ci.org/display/JENKINS/CCCC+Plugin

http://sourceforge.net/projects/codeanalyze-gpl/?source=recommended

Yläotsikko

Page 24: Test designandmanagementfreenest1dot4

Integration Testing

Customer/Business Requirements

Sub System Requirements

Component Requirements

Component / Unit Testing

Integration Testing

System Testing

Acceptance Testing

System Requirements

Architecture&

Design&

Implementatio

n

Product

VALIDATION

VERIFICATION

Yläotsikko

Page 25: Test designandmanagementfreenest1dot4

Integration Testing

Page 26: Test designandmanagementfreenest1dot4

How To Test ?

http://prosentti.vero.fi/veropros_tietojen_syotto2011.asp

What should be tested? How ?

Page 27: Test designandmanagementfreenest1dot4

Why Integrate first? Avoid Big Bang!

HW Component

Data Base

Component/Application

10% tested

Web Service

Tested Component/Application

Yläotsikko

Page 28: Test designandmanagementfreenest1dot4

System Testing

Customer/Business Requirements

Sub System Requirements

Component Requirements

Component / Unit Testing

Integration Testing

System Testing

Acceptance Testing

System Requirements

Architecture&

Design&

Implementatio

n

Product

VALIDATION

VERIFICATION

Yläotsikko

Page 29: Test designandmanagementfreenest1dot4

How to test?

What should be tested? How ?

Page 30: Test designandmanagementfreenest1dot4

System Testing in Large

What should be tested? How ?

Sales DB

Room Reservation DB

DB ?

CRM DB

Application & Gateways

Application

Application & Gateways

Page 31: Test designandmanagementfreenest1dot4

System Acceptance Testing

Customer/Business Requirements

Sub System Requirements

Component Requirements

Component / Unit Testing

Integration Testing

System Testing

Acceptance Testing

System Requirements

Architecture&

Design&

Implementatio

n

Product

VALIDATION

VERIFICATION

Yläotsikko

Page 32: Test designandmanagementfreenest1dot4

What to test?

What should be tested before so customer could be so happy ? How ?

http://www.123rf.com http://www.123rf.com

Page 33: Test designandmanagementfreenest1dot4

Feature Pack

Project Manager

Designer/Coder

Integration Test Engineer

Test Manager

System Testing

IFDK System Testing

Feature Unit/Integration Testing

IFDK System Acceptance Testing

System Test Engineer

Error Manager

Acceptance Test Engineer

Validation

Verification

IFDK Verification/Validation (Testing Organization)

Test Automation

Product Release

Error

Database

Test

Management

Database

Report

Staus

Page 34: Test designandmanagementfreenest1dot4

What should be tested?

Input ?

Output?

Page 35: Test designandmanagementfreenest1dot4

What is Test Design?

IDEAL Implementation

REQ-X

REQ-Y

REQ-Z

REQ-O

Yläotsikko

What I should check ?

Page 36: Test designandmanagementfreenest1dot4

Why we need test design?

• Discuss about reasons for test design?

• Why we need to do design?

• Stupid work ! I wan’t to progress!??

Page 37: Test designandmanagementfreenest1dot4

Test Case Design

Page 38: Test designandmanagementfreenest1dot4

Feature Pack

Project Manager

Designer/Coder

Integration Test Engineer

Test Manager

System Testing

IFDK System Testing

Feature Unit/Integration Testing

IFDK System Acceptance Testing

System Test Engineer

Error Manager

Acceptance Test Engineer

Validation

Verification

UNDERSTAND YOUR TEST LEVEL

Test Automation

Product Release

Error

Database

Test

Management

Database

Report

Staus

Page 39: Test designandmanagementfreenest1dot4

Verify what? Using configuration?

With tools?

What is verdict?

• Verify drum track player pause mode functionality. • Do this with IFDK software release X and playing song

”Show must go on by Freddy Mercury” • Test should be done using android emulator

environment and using your hands, ears and eyes”

Add Information about case

• Pre State: • Android emulator is running • Release X is installed on emulator

• Test Case Steps: • 1. Open drum kit player application • 2. Select song ”Show must go on” • 3. Start to play • 4. Press Pause and check song is paused • 5. Check memory usage from system application • 6. Press Play • 7. jump to 4 several time (<10) • 8. Listen song to the end • 9. Exit player using ”exit button”

• End State: • IFDK Kit in main screen mode

• Test Case Id • Test Case owner/writer • Date • comments

• If Pause is working result is PASS. If Pause mode failed result is FAIL

Define pre-state Define Steps

Define end-state

What Information Test Case should contain?

Page 40: Test designandmanagementfreenest1dot4

Why we need test design again!

• Stupid work! This takes ages! This Test Case documentation is old as soon I have changed some implementation? Why you need to do so hard documentation? Give me a one good reason!

Page 41: Test designandmanagementfreenest1dot4

Checklist?

Check UI is working Working? Check color change Working? Check Counter value after 50 logins Working? Check disable mode for counter Working?

Checklist can be working great in small team!

What happens if team is disbanded to other projects? And you are new maintainer for this project?

Page 42: Test designandmanagementfreenest1dot4

Agile Thinking?

• We have to automate all tests!! No sense to create documentation ?

• Who does automation without a design?

Page 43: Test designandmanagementfreenest1dot4

Where I find sources for test design?

Test

Des

ign

Met

ho

d

Negative Testing

Requirement based test design

Defect based test design

Design based test desing

Functional test design

NonFunctional test design

Specification based Testing design

Test Case

Step Step Step

• Customer's Idea

• Brainstorm

• Intitution

• Exploratory

Test Engineer’s Daily Job?

Mixed

Write

Page 44: Test designandmanagementfreenest1dot4

What is Testing level

Check

different

sources &

strategy

for Test

Case

design

Functional Test Case

Non-Functional Test Cases

How to create Test Case???

Acceptance Test Case

Field Test Case

Interoperability Test Case

Conformance Test Case

Regression Test Case

Choose Case Type

WRITE A

Test Case!

Page 45: Test designandmanagementfreenest1dot4

Test Case Design in agile framework

Definition for test cases

Definition for Acceptance Criteria

Check list 1. Verify Test 2. Verify Test 3. Verify Test 4. Verify Test

User Story:

Tested using test

automation?

As a user I would like to use my google account for login Implementation

Done

Page 46: Test designandmanagementfreenest1dot4

Test Driven Development TDD in all levels!

Design Tests Implement Code

Design draft Tests Case Define Architecture &

Design?

Page 47: Test designandmanagementfreenest1dot4

Unit Testing

Page 48: Test designandmanagementfreenest1dot4

Test Driven Development and Unit Testing

Class

Attributes

Class

Methods

Class

Attributes

Class

Methods

Attributes

TestClass

TestMethodCall

Unit Test Frame Work

Test Method Call

Method Result

A=1 B=2 C=Class.TestMethodCountValues(A+B) C<>3 FAIL C=3 PASS

Implemented Class

MethodCountValues( int x, int y) z=x+y+1 Return z

Developer

DEFINE TEST

CASES FIRST!!!

IMPLEMENT CODE

AGAINST TESTS

Page 49: Test designandmanagementfreenest1dot4

Ideal project team and unit testing

Implemented Software

Component #1

Implemented Software Component

#3

Implemented Software Component

#4

Implemented Software Component

#2

Software Product Integration

Developer 1 Developer 2 Developer 3 Developer 4

Test Sand Box Test Sand Box Test Sand Box Test Sand Box

TESTS TESTS TESTS TESTS

Integration test engineer #2 Integration test engineer #1

Page 50: Test designandmanagementfreenest1dot4

Integration Test with stubs/mocs

Tested Component/Application

Log

STUB/MOCK Component

Scripted STUB Interface

Control

Configure

Simulated

Interface

Messages/Events

STUB/MOCK Component

Control Interface

Page 51: Test designandmanagementfreenest1dot4

Integration Testing with simulated Interfaces

Fake Spotify Server

Fake Facebook

Server

Simulated Bluetooth Interface

Simulated

MIDI Interface

Page 52: Test designandmanagementfreenest1dot4

Integration Test with stubs

Tested Component/Application

Log

STUB/MOCK Component

Scripted STUB Interface

Control

Configure

Simulated

Interface

Messages/Events

STUB/MOCK Component

Control Interface

Yläotsikko

Page 53: Test designandmanagementfreenest1dot4

in practice #1 IFDK android setup

Tested Component

Application

Activate/Control

STUB/MOCK Component

Scripted STUB Interface

Control

Configure

Simulated

Interface

Messages/Events

WEB SERVER simulating

Service interface

Control Interface

Trace/Log

Yläotsikko

Page 54: Test designandmanagementfreenest1dot4

in practice #2 server component testing

Tested Component

Application

Trace/Log

Activate/Control

Mock Server/Daemon

Scripted STUB Interface

Automated

Test Interface

Simulated

Interface

Messages/Events

WEB SERVER

Control Interface

Operating System

Needed

Fake Application

Junit Scripted Interface

Yläotsikko

Page 55: Test designandmanagementfreenest1dot4

Integration Testing

Implementa

tion

Test

Framework

Error

Database

Test

Plan

Implementa

tion

Test

Framework

Component

2

Page 56: Test designandmanagementfreenest1dot4

Regression Test

Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is Changed. (ISTQB Syllabus)

Page 57: Test designandmanagementfreenest1dot4

Regression testing reason for automation?

Test Case

#1

Test Case

#3

Test Case

#7

Test Case

#4

Test Case

#8

REGRESSION

TEST PLAN

Test Automation Solution

Execute Regression

Test when needed?

?

Export Results as

Report

Page 58: Test designandmanagementfreenest1dot4

Create a Test Case!

Functional?

Your

Sources

For Test

Case

Functional Test Case: ●Verify functionality of

XXXX

Non-Functional Test Cases ●Verify Stability of XXXX

●Verify Performance of

XXX

●Verify Security of XXXX

●Verify Usability of XXXX

●Verify Scalability of

XXXX

●etc...

Non-Functional?

Which Type?

●Requirement

●Use Case

●Feature

●User Story

●Customer's Idea

●Brainstorm

●Intitution

●Exploratory

Check also..... ●Correct functionality

path

●Miss-usage of

functionality

●Boundary Check

Check also..... ●Check Possiblity to

automated testing?

How to create Test Case???

Regression Test Case??

Write a Case

Write a Case

Yläotsikko

Page 59: Test designandmanagementfreenest1dot4

Feature Pack

Project Manager

Designer/Coder

Integration Test Engineer

Test Manager

System Testing

IFDK System Testing

Feature Unit/Integration Testing

IFDK System Acceptance Testing

System Test Engineer

Error Manager

Acceptance Test Engineer

Validation

Verification

IFDK Verification/Validation (Testing Organization)

Test Automation

Product Release

Error

Database

Test

Management

Database

Report

Staus

Page 60: Test designandmanagementfreenest1dot4

System Testing in Small

What should be tested? How ?

DB

Appcliation

Page 61: Test designandmanagementfreenest1dot4

Application Functional testing

What should be tested? How ?

Application

Page 62: Test designandmanagementfreenest1dot4

Application code level testing

Page 63: Test designandmanagementfreenest1dot4

Test Case Management Basics

• Using Testlink

• How to write test case?

• Creating a test plan

Page 64: Test designandmanagementfreenest1dot4

About Testlink

TestLink is a web based Test Management tool. The application provides Test

specification, Test plans and execution, Reporting, Requirements specification and

collaborate with well-known bug trackers.

Page 65: Test designandmanagementfreenest1dot4

Test Management – Testlink

Test

Management

Database

Feature

Implementation

TestCase

Bug Report

Error

Database

PASS

FAIL

TestCase

TestCase

TestCase

TestCase

Test Plan/Suite

SourceCode

Version

Control

TESTLINK

Page 66: Test designandmanagementfreenest1dot4

Test Plan Life Cycle

Test

Plan 1.0

Week 0 Week 26 Week 52

REL 0.1 REL 0.2 REL 0.5 REL 1.0

Test

Plan 2.x

Routine

Test

Needs

Still

Work

Effort

Page 67: Test designandmanagementfreenest1dot4

Selected Test Cases = Test Plan/Suite

Test Case 1

Test Case 2 V2.0

Test Case 3 V2.0

Test Case 1

Test Case 2 V2.0

Test Case 3 V2.0

Test Plan V 0.1

Page 68: Test designandmanagementfreenest1dot4

Test Case Pool and version control

Test Case 1 Test Case 2

V1.0

Test Case 3 V1.0

Test Case 2 V2.0

Test Case 2 V2.0

Test Case 2 V3.0

Test Case 4 Draft

Page 69: Test designandmanagementfreenest1dot4

Test Management

What we can do with Testlink Tool

Page 70: Test designandmanagementfreenest1dot4

Who executes test cases and when?

Test Case 1

Test Case 2 V2.0

Test Case 2 V2.0

Test Plan V 0.1

Page 71: Test designandmanagementfreenest1dot4

What should be tested? Priority setting

Test Case 1 Test Case 2

V2.0 Test Case 3

V2.0

P1 P3 P4

Page 72: Test designandmanagementfreenest1dot4

What is a target?

Test Case 1

Test Case 2 V2.0

Test Case 3 V2.0

Test Plan V 0.1

PASS / FAIL

PASS / FAIL

Executes

Executes

Executes

Product

RELEASE/BUILD

VERSION 1.1

Product

RELEASE/BUILD

VERSION 1.3

Product

RELEASE/BUILD

VERSION 1.2

Page 73: Test designandmanagementfreenest1dot4

Setting Configuration

Version 0.4

Version

0.2.2.2

Version

0.2.2

Test

Plan

Test

Cases

For

Features

Tested

Release/configuration

Error/De

fect

Report

Error/De

fect

Report

Error/De

fect

Report

Page 74: Test designandmanagementfreenest1dot4

Testlink use….

Page 75: Test designandmanagementfreenest1dot4

Needed Tools

TESTLINK: http://sourceforge.net/projects/testlink/

BUGZILLA: http://www.bugzilla.org/

Page 76: Test designandmanagementfreenest1dot4

Execution of Test Case

Test Engineer daily job ?

Yläotsikko

Page 77: Test designandmanagementfreenest1dot4
Page 78: Test designandmanagementfreenest1dot4

Test Case

SUT/DUT ”IFDK-unit”

What is generated as results from test case execution

LOG FILE

Indications Events

NOTIFICATIONS

SUT = System Under Test DUT = Device Under Test

ENVIRONMENT/ EMULATOR

TOOLS

TEST CASE

Yläotsikko

Page 79: Test designandmanagementfreenest1dot4

Regression Test

Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is Changed. (ISTQB Syllabus)

Page 80: Test designandmanagementfreenest1dot4

Test Plan & Regression

Test Case

#1

Test Case

#3

Test Case

#5

Test Case

#7

Test Case

#9

Test Case

#2

Test Case

#4

Test Case

#6

Test Case

#8

Test Case

#10

TEST PLAN 1

Test Case

#1

Test Case

#3

Test Case

#7

Test Case

#4

Test Case

#8

REGRESSION

TEST PLAN

Test Case

#5

Test Case

#9

Test Case

#2

Test Case

#6

Test Case

#10

Test Case

#9

Test Case

#10

Test Case

#11

TEST PLAN 1.1

Test Case

#12

Test Case

#13

New

TCases

Added!

Page 81: Test designandmanagementfreenest1dot4

Regression testing reason for automation?

Test Case

#1

Test Case

#3

Test Case

#7

Test Case

#4

Test Case

#8

REGRESSION

TEST PLAN

Test Automation Solution

Execute Regression

Test when needed?

?

Export Results as

Report

Page 82: Test designandmanagementfreenest1dot4

Feature Component

Project Manager

Designer/Coder

Integration Test Engineer

Test Manager

System Testing

Feature Unit/Integration Testing

System Acceptance Testing

System Test Engineer

Test Automation Engineer

Acceptance Test Engineer

Validation

Verification

Product verification/validation and test automation

Regression Testing

Integration Testing

Functional System Testing

Acceptance Testing

Unit Testing

Product Release

Component Integration Testing

A

A

A

A

A Load, Stress, performance

Page 83: Test designandmanagementfreenest1dot4

Heading

- Sed posuere interdum sem. - Quisque ligula eros ullamcorper quis, lacinia

quis facilisis sed sapien. - Mauris varius diam vitae arcu. Sed arcu

lectus auctor vitae, consectetuer et venenatis eget velit.

- Sed augue orci, lacinia eu tincidunt et eleifend nec lacus.

Yläotsikko

Page 84: Test designandmanagementfreenest1dot4

Component Design

Class

Attributes

Class

Methods

Class

Attributes

Class

Methods

Yläotsikko

Page 85: Test designandmanagementfreenest1dot4

Feature X * n

Feature example 1 (Invented on course 2009-2010)

Calory Counter:

Player can measure calories during training session. This can be

seen as exercise result in web service eg. Facebook application

Energy usage

Yläotsikko

Page 86: Test designandmanagementfreenest1dot4

SW Development Process (Agile)

User Story Y

Sprint

Task1

Task2

Task3

Sprint Sprint Sprint

Task4

Task5

Task6

User Story X

Design Implementation

Verification

Product Backlog

Design Implementation

Verification

Design Implementation

Verification

Design Implementation

Verification

User Story Z

Task7

Task8

Task9

User Story Z

Yläotsikko

Page 87: Test designandmanagementfreenest1dot4

Yläotsikko

Page 88: Test designandmanagementfreenest1dot4

Recommended