semester 1, 2003 week 7 cse9020 / 1 software testing and quality assurance with thanks to shonali...

31
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Upload: simon-caldwell

Post on 26-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 1

Software Testing and Quality Assurance

With thanks to Shonali Krishnaswamyand Sylvia Tucker

Page 2: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 2

Reading and ReferencesReading and References

“Software Testing - A Craftsman’s Approach”, (1995) by Paul C. Jorgensen

“The Complete Guide to Software Testing”, (1988), by Bill Hetzel

Page 3: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 3

Presentation OutlinePresentation Outline

Introduction

Terminology

Levels of Testing

Defect Fixing Strategies

Test Process

Bottom line

Page 4: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 4

Testing and QualityTesting and Quality

Hetzel - “Testing is the process of establishing confidence that a program or system does what it is supposed to do”

Quality <=> “Meets requirements”

Quality is not tangible

Page 5: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 5

Testing and Quality Testing and Quality

The purpose of testing

is to make quality visible

Testing is the measurement

of software quality

Page 6: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 6

TerminologyTerminology

Test Plan: A document describing the testing approach

– Description of the system to be tested

– Objectives of testing

Page 7: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 7

Terminology - Test Plan Terminology - Test Plan

– Project team

– Test environment

– Resource requirements

– Test Schedule

Page 8: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 8

TerminologyTerminology

Test Procedure: A document defining the steps required to carry out the test plan (or part of it) - that is, execute a set of test cases

– Test case name, objective

– Description of input required

– Description of expected output

Page 9: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 9

Terminology - Test ProcedureTerminology - Test Procedure

Some aspects to watch :

– Commands or Macros to run the test case

– Location and format of the actual output

– Assumptions, Conditions

Page 10: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 10

TerminologyTerminology

Test Case: A specific set of test data and the corresponding expected results for a particular test objective.

– Invalid and Valid test cases

Test Script: The code written to implement the test case

Page 11: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 11

Levels of TestingLevels of Testing

Unit Testing:

Testing of individual components of a system (sometimes called Basic Functionality Testing)

Page 12: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 12

Levels of TestingLevels of Testing

System Testing:

Testing in a wider scope - a group of components and the sequence of operations

Page 13: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 13

Levels of TestingLevels of Testing

Acceptance Testing:

Testing to determine if a system is ready for implementation

(or, - would the ‘user’ buy this ?

- would I buy it ? )

Page 14: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 14

Automated vs. Manual TestingAutomated vs. Manual Testing

Manual

– Every test case is executed manually

– Comparison of actual and expected is done manually

Page 15: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 15

Automated vs. Manual TestingAutomated vs. Manual Testing

Manual– Suitable for interactive tests

– Tedious and time consuming

– Simpler

Page 16: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 16

Automated vs. Manual TestingAutomated vs. Manual Testing

Automated– A test harness runs the test scripts

– Analysis of the results is automated and the results are logged

– Testing effort is reduced and it is more efficient in the longer term

Note: The actual test scripts are not generated automatically

Page 17: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 17

Boundary Value AnalysisBoundary Value Analysis

Guidelines:– Break up the system in to components that

have to be tested– Determine the boundary values for the

components– Design test cases based on the boundary

values

Limitation: Works well with independent variables (or components) with well defined boundaries

Page 18: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 18

Equivalence ClassesEquivalence Classes

Motivations: Completeness with minimal or no redundancies

An equivalence class is a partition of a set

Guidelines:– Identify equivalence classes– Design test cases for each equivalence class

Example: A variable can take only values from 0 to 9 inclusive.

Page 19: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 19

Decision TablesDecision Tables

Condition/Action rules are presented in a tabular form

Test Cases: Conditions are inputs, Actions are outputs

1 2 3 4 5

Fixed rate account T T F F F

Variable rate accountF F T T F

Consumption < 100 KWH T F T F

Consumption >= 100 KWH F T F T

Minimum monthly charge X

Schedule A billing X X

Schedule B billing X

Other treatment X

Page 20: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 20

Defect Fixing StrategiesDefect Fixing Strategies

Document Defects– full and complete information so the defect

can be reproduced– Pass it back to the developer

Fix – Document the fix– Pass it back to the tester

Re-test, regression tests

Page 21: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 21

Test ProcessTest Process

Develop a test plan (and agree on it)

Specify the test procedure

Perform boundary value analysis /

equivalence classes etc.

Page 22: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 22

Test ProcessTest Process

Design and implement test cases

Run the tests

Analyse and document results

Fix Defects then Run the tests etc etc -and agree that the fixes have worked

Page 23: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 23

Testing Web SitesTesting Web Sites

Are essentially client/server applications Consider:

– Interaction between html pages– internet connections– firewalls– applications that run in web pages (client)

• applets• javascript• .net approach

Page 24: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 24

Testing Web SitesTesting Web Sites

– applications that run on the server• cgi scripts• database interfaces• logging applications• dynamic page generators

– variety of servers, browsers (versions)– expected loads on the server, expected

performance on client, and server• investigate web testing tools

http://www.softwareqatest.com/qatweb1.html

Page 25: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 25

Testing Web SitesTesting Web Sites

Who is the target audience?– Browsers, connection speed

• intranet (fast) or internet (may be sloooooow!)

– Usability guidelines• Pages should be 3-5 screens max., otherwise

provide internal links within the page• Use a consistent layout, navigation• Make pages browser-independent, or generate

for a specific browser• Include page owner, revision date, contact link• NO dead-end pages!

Page 26: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 26

Testing Web SitesTesting Web Sites

On-going – Performance Testing– Link Testing– Security Testing– HTML validation (browsers change!)

Page 27: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 27

In Summary...In Summary...

Why? Who? When? What? How?

Page 28: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 28

Bottom LineBottom Line

Testing is expensive

Testing is necessary

You are never going to test everything– use Risk Analysis to determine where

testing should be focused

Page 29: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 29

Bottom LineBottom Line

Your IE Project is not complete until your client has completed the Acceptance Testing to their satisfaction, and signed-off the project!

Page 30: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 30

Bottom LineBottom Line

Most Essential

Make sure that– the system– and the group members

maintain versioning control

(link Software Testing and Quality Assurance with with Risks and Ethics)

Page 31: Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker

Semester 1, 2003 Week 7

CSE9020 / 31

More MaintenanceMore Maintenance

Pilot Entry:

Left inside main tyre almost needs replacement

Mechanic Entry:

Almost replaced left inside main tyre

Pilot Entry:

Test flight OK, except autoland very rough

Mechanic entry

Autoland not installed on this aircraft