23
Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Embed Size (px)

Citation preview

Page 1: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Software Engineering 2Software Testing

Claire Lohrpp 413

Presented By:Feras Batarseh

Page 2: Software Engineering 2 Software Testing Claire Lohr pp 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.

Page 3: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Attributes

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

Page 4: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Types of Testing

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

Page 5: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Equivalence class partitioning

According to two attributes:Valid.Invalid.

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

Page 6: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Steps for ECP

Define valid and invalid values.

Test as many valid classes together.

Do one test for each invalid class.

Page 7: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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

Page 8: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Decision table

Lists all conditions and all resultant outputs.

Y :yesN: no1:yes and no.

Page 9: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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.

Page 10: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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.

Page 11: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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)

Page 12: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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.

Page 13: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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.

Page 14: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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

Page 15: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Testing strategies (cont.2)

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

Page 16: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Test DesignArt and science.

Structured:Boundary value Decision tableEquivalence class partitioning

Un structured:RandomAd hocExploratory

Page 17: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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.

Page 18: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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)

Page 19: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

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.

Page 20: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Testing documentation

Media vary depending on level of detail:

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

Page 21: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

IEEE Testing documentation

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

Page 22: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Test management

Estimating schedules.

Planning for staffing and training.

Identifying and planning tasks.

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

Page 23: Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Any questions?

Thank You for your attention.