Art for chapter 11 testing
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Art for Chapter 11, Testing PowerPoint PPT Presentation


  • 78 Views
  • Uploaded on
  • Presentation posted in: General

Art for Chapter 11, Testing. Management plan. Test planning. User interface design. Object design. Unit test. From ODD. From RAD. From TP. From RAD. Continued on next slide. Continued on next slide.

Download Presentation

Art for Chapter 11, Testing

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Art for chapter 11 testing

Art forChapter 11, Testing


Figure 11 1 testing activities and their related work products continued on next slide

Management

plan

Test planning

User interface

design

Object design

Unit test

From ODD

From RAD

From TP

From RAD

Continuedon next slide

Continuedon next slide

Figure 11-1, Testing activities and their related work products (continued on next slide).

Developer

Client

User

Usability test

Integration

Integration test

strategy

System

Structure test

decomposition

From SDD

Functional

Functional test

requirements


Figure 11 1 continued from previous slide

Functional test

User manual

Project

agreement

Performance test

Field test

Daily operation

Installation test

Acceptance test

Figure 11-1 (continued from previous slide).

Developer

Client

User

Functionalrequirements

From RAD

Nonfunctionalrequirements

From RAD


Figure 11 2 model elements used during testing

Test suite

is revised by

exercises

*

1…n

*

Test case

Component

Correction

*

*

*

Test stub

finds

repairs

*

Test driver

*

*

*

*

*

*

Failure

Error

Fault

is caused by

is caused by

Figure 11-2, Model elements used during testing.


Figure 11 3 an example of a fault

Figure 11-3, An example of a fault.


Figure 11 6 an example of an error

Figure 11-6, An example of an error.


Figure 11 7 a fault can have an algorithmic cause

Figure 11-7, A fault can have an algorithmic cause.


Figure 11 8 a fault can have a mechanical cause such as an earthquake

Figure 11-8, A fault can have a mechanical cause, such as an earthquake.


Figure 11 9 test model with test cases

Figure 11-9, Test model with test cases.

TestA1:TestCase

TestA:TestCase

TestA2:TestCase

precedes

precedes

TestB:TestCase

TestC:TestCase


Figure 11 11 equivalent flow graph for the getnumdaysinmonth method implementation of figure 11 12

Figure 11-11, Equivalent flow graph for the getNumDaysInMonth() method implementation of Figure 11-12.

[year < 1]

throw1

[month in (1,3,5,7,10,12)]

n=32

[month in (4,6,9,11)]

n=30

[month == 2]

[leap(year)]

throw2

n=29

n=28

return


Art for chapter 11 testing

Figure 11-12, An example of a (faulty) implementation of the getNumDaysInMonth() method (Java). (continued on next slide)

public class MonthOutOfBounds extends Exception {…};

public class YearOutOfBounds extends Exception {…};

public class MyGregorianCalendar {

publicstaticboolean isLeapYear(int year) {

boolean leap;

if (year%4) {

leap = true;

} else {

leap = false;

}

return leap;

}

/* … continued on next slide */


Art for chapter 11 testing

Figure 11-12, An example of a (faulty) implementation of the getNumDaysInMonth() method (Java). (continued from previous slide)

/* … continued from previous slide */

publicstaticint getNumDaysInMonth(int month, int year)

throws MonthOutOfBounds, YearOutOfBounds {

int numDays;

if (year < 1) {

thrownew YearOutOfBounds(year);

}

if (month == 1 || month == 3 || month == 5 || month == 7 ||

month == 10 || month == 12) {

numDays = 32;

} elseif (month == 4 || month == 6 || month == 9 || month == 11) {

numDays = 30;

} elseif (month == 2) {

if (isLeapYear(year)) {

numDays = 29;

} else {

numDays = 28;

}

} else {

thrownew MonthOutOfBounds(month);

}

return numDays;

}

...

}


Art for chapter 11 testing

Figure 11-13, Equivalent flow graph for the (faulty) isLeapYear() method implementation of Figure 11-12 and derived tests.

[(year%4) == 0)]

leap=true

leap=false

return


Art for chapter 11 testing

Figure 11-14, UML statechart diagram and resulting tests for 2Bwatch set time function. (test cases on next slide)

3.pressButtonsLAndR

1.

2.

6.

pressButtonL

pressButtonL

pressButtonR

MeasureTime

pressButtonR

SetTime

4.after 2 min.

5.pressButtonsLAndR/beep

7.after 20 years

8.after 20 years

DeadBattery


Figure 11 15 a strategy pattern for encapsulating multiple implementations of a networkinterface

Figure 11-15, A Strategy pattern for encapsulating multiple implementations of a NetworkInterface.

Application

NetworkConnection

NetworkInterface

open()

send()

close()

receive()

send()

setNetworkInterface()

receive()

LocationManager

Ethernet

WaveLAN

UMTS

open()

open()

open()

close()

close()

close()

send()

send()

send()

receive()

receive()

receive()


Art for chapter 11 testing

Figure 11-17, Equivalent flow graph for the expanded source code of the NetworkConnection.send() method of Figure 11-16.

[nif instanceof Ethernet]

eNif.isReady()

[nif instanceof WaveLAN]

wNif.isReady()

uNif.isReady()

[ready]

;

[nif instanceof Ethernet]

eNif.send()

[nif instanceof WaveLAN]

wNif.send()

uNif.send()


Figure 11 18 example of a hierarchal system decomposition with three layers

Figure 11-18, Example of a hierarchal system decomposition with three layers.

Layer I

User Interface (A)

Layer II

Billing (B)

Event Service (C)

Learning (D)

Layer III

Database (E)

Network (F)

Neural Network (G)


Art for chapter 11 testing

Figure 11-19, Bottom up test strategy. After unit testing subsystems E, F, and G, the bottom up integration test proceeds with the triple test B,E,F and the double test D,G.

User Interface (A)

Billing (B)

Event Service (C)

Learning (D)

Database (E)

Network (F)

Neural Network (G)

T

riple test

Double test

B,E,F

D,G


Art for chapter 11 testing

Figure 11-20, Top down test strategy. After unit testing subsystem A, the integration test proceeds with the double tests (A,B), (A,C), and (A,D), followed by the quad test (A,B,C,D).

Double tests

A,B; A,C; A,D

Quad test

User Interface (A)

A,B,C,D

Billing (B)

Event Service (C)

Learning (D)

Database (E)

Network (F)

Neural Network (G)


Figure 11 21 sandwich testing strategy

Figure 11-21, Sandwich testing strategy.

Top layer

Test A,B

Test A

Test A,C

Test A,B,C,D

Test A,D

Bottom layer

Test G

Test D,G

Test F

Test B,E,F

Test E

Test A,B,C,D,

E,F,G


Figure 11 22 an example of modified sandwich testing strategy

Figure 11-22, An example of modified sandwich testing strategy.

Top layer

Test A,B

Test A

Test A,C

Test A,B,C,D

Test A,D

Target layer

Test B

Test C

Test D

Bottom layer

Test G

Test D,G

Test F

Test B,E,F

Test E

Test A,B,C,D,

E,F,G


Figure 11 23 an example of use case model for a subway ticket distributor

Figure 11-23, An example of use case model for a subway ticket distributor.

Passenger

<<extends>>

PurchaseTicket

<<extends>>

TimeOut

Cancel

<<extends>>

<<extends>>

NoChange

OutOfOrder


Figure 11 26 example of a pert chart for a schedule of the sandwich tests shown in figure 9 19

Figure 11-26, Example of a PERT chart for a schedule of the sandwich tests shown in Figure 9-19.


Figure 11 27 junit test framework

Figure 11-27, JUnit test framework.

Test

TestResult

run(TestResult)

TestCase

TestSuite

testName:String

run(TestResult)

run(TestResult)

addTest()

setUp()

tearDown()

runTest()

ConcreteTestCase

setUp()

tearDown()

runTest()


  • Login