software engineering 2 software testing claire lohr pp 413 presented by: feras batarseh

Post on 03-Jan-2016

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Software Engineering 2Software Testing

Claire Lohrpp 413

Presented By:Feras Batarseh

Definition

IEEE 610.12An activity in which a system or componentunder specified conditions, the results areobserved or recorded, and an evaluation ismade of some aspect of the system orcomponent.

Attributes

Software engineer intuition and experience.Specification.Code.Dataflow.Fault.Usage.Nature of the application.

Types of Testing

Equivalence class partitioning.Boundary value.Decision table.Exploratory.Operational profile.

Equivalence class partitioning

According to two attributes:Valid.Invalid.

Example: age 0-120 (valid) age <0 and >120 (Invalid)

Steps for ECP

Define valid and invalid values.

Test as many valid classes together.

Do one test for each invalid class.

Boundary value

Must test the following:Legally defined minimum.Legally defined maximum.The first possible value below the legally min.The first possible value above the legally max.

Age ex: 0, 120, -1, 121

Decision table

Lists all conditions and all resultant outputs.

Y :yesN: no1:yes and no.

Exploratory testing

Emphasizing planning the focus of the testingprocess.Doesn’t require pre-planning.When test begins, modifications are stillallowed.Test results modify the plan accordingly.

Operational profile

Number of tests to be done follows the model of

how much it is used during operation.

Test more for features that are used more.

Testing Levels

Levels vary from organization to organization,and from project to project.Some parameters:Size.Complexity.Safety criticality.Experience of staff.Desire for certification(ISO, CMMI)

Testing Levels (cont.)Operational testing:Software units, DB, integrated components,requirements and integration.

Maintenance process:modified and un-modified parts, migrationverification, parallel testing, all developmentlevels for improvements.

Supporting process:Verification and validation.

Testing strategiesTesting all combinations is impossible!

Macro:Time to marketAmount of functionality to be deliveredQuality of product

Micro:More automation to speed processBetter selection of test casesLess turnovers in testing staff.

Testing strategies (cont.)

For functionality changes:Tracing requirements to see cases affected bychanges.Modular testing.

For quality of product:More variety in types.Better tools.Better unit test tools for developers

Testing strategies (cont.2)

To control test effort cost:PM tool for estimations.Add root cause analysis.

Test DesignArt and science.

Structured:Boundary value Decision tableEquivalence class partitioning

Un structured:RandomAd hocExploratory

Test Coverage of code

Impossible to cover all the code.Depends on the definition of ”covering”!Does it mean executing, reading, testing?

Use Tom McCabe’s basis technique.

Tom McCabe’s basis technique.

1-Draw a flow graph.(nodes and edges)

2-Compute the metric cyclomatic complexity (nodes).

No.edges-no.Nodes+2=cc

3-Choose paths. (cover all nodes and edges)

Test Execution

Defined in a test plan (Pseudo code andflow graph)

Cover all specifications is important.(categorizeaccording to testable or not)

Define components: hardware, software,personnel, data, automated tools.

Testing documentation

Media vary depending on level of detail:

Word doc.Spread sheets.Databases.Within automated test tools.

IEEE Testing documentation

Test planTest designTest casesTest proceduresTest logosIncident reportsTest summary reportTest item transmittal report

Test management

Estimating schedules.

Planning for staffing and training.

Identifying and planning tasks.

Monitoring the execution of the plans andre-planning based on results.

Any questions?

Thank You for your attention.

top related