Lohr-p413.ppt

362 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
362
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lohr-p413.ppt

  1. 1. Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh
  2. 2. Definition <ul><li>IEEE 610.12 </li></ul><ul><li>An activity in which a system or component </li></ul><ul><li>under specified conditions, the results are </li></ul><ul><li>observed or recorded, and an evaluation is </li></ul><ul><li>made of some aspect of the system or </li></ul><ul><li>component. </li></ul>
  3. 3. Attributes <ul><li>Software engineer intuition and experience. </li></ul><ul><li>Specification. </li></ul><ul><li>Code. </li></ul><ul><li>Dataflow. </li></ul><ul><li>Fault. </li></ul><ul><li>Usage. </li></ul><ul><li>Nature of the application. </li></ul>
  4. 4. Types of Testing <ul><li>Equivalence class partitioning. </li></ul><ul><li>Boundary value. </li></ul><ul><li>Decision table. </li></ul><ul><li>Exploratory. </li></ul><ul><li>Operational profile. </li></ul>
  5. 5. Equivalence class partitioning <ul><li>According to two attributes: </li></ul><ul><li>Valid. </li></ul><ul><li>Invalid. </li></ul><ul><li>Example: age 0-120 (valid) </li></ul><ul><li> age <0 and >120 (Invalid) </li></ul>
  6. 6. Steps for ECP <ul><li>Define valid and invalid values. </li></ul><ul><li>Test as many valid classes together. </li></ul><ul><li>Do one test for each invalid class. </li></ul>
  7. 7. Boundary value <ul><li>Must test the following: </li></ul><ul><li>Legally defined minimum. </li></ul><ul><li>Legally defined maximum. </li></ul><ul><li>The first possible value below the legally min. </li></ul><ul><li>The first possible value above the legally max. </li></ul><ul><li>Age ex: 0, 120, -1, 121 </li></ul>
  8. 8. Decision table <ul><li>Lists all conditions and all resultant outputs. </li></ul><ul><li>Y :yes </li></ul><ul><li>N: no </li></ul><ul><li>1:yes and no. </li></ul>
  9. 9. Exploratory testing <ul><li>Emphasizing planning the focus of the testing </li></ul><ul><li>process. </li></ul><ul><li>Doesn’t require pre-planning. </li></ul><ul><li>When test begins, modifications are still </li></ul><ul><li>allowed. </li></ul><ul><li>Test results modify the plan accordingly. </li></ul>
  10. 10. Operational profile <ul><li>Number of tests to be done follows the model of </li></ul><ul><li>how much it is used during operation. </li></ul><ul><li>Test more for features that are used more. </li></ul>
  11. 11. Testing Levels <ul><li>Levels vary from organization to organization, </li></ul><ul><li>and from project to project. </li></ul><ul><li>Some parameters: </li></ul><ul><li>Size. </li></ul><ul><li>Complexity. </li></ul><ul><li>Safety criticality. </li></ul><ul><li>Experience of staff. </li></ul><ul><li>Desire for certification(ISO, CMMI) </li></ul>
  12. 12. Testing Levels (cont.) <ul><li>Operational testing: </li></ul><ul><li>Software units, DB, integrated components, </li></ul><ul><li>requirements and integration. </li></ul><ul><li>Maintenance process: </li></ul><ul><li>modified and un-modified parts, migration </li></ul><ul><li>verification, parallel testing, all development </li></ul><ul><li>levels for improvements. </li></ul><ul><li>Supporting process: </li></ul><ul><li>Verification and validation. </li></ul>
  13. 13. Testing strategies <ul><li>Testing all combinations is impossible! </li></ul><ul><li>Macro: </li></ul><ul><li>Time to market </li></ul><ul><li>Amount of functionality to be delivered </li></ul><ul><li>Quality of product </li></ul><ul><li>Micro: </li></ul><ul><li>More automation to speed process </li></ul><ul><li>Better selection of test cases </li></ul><ul><li>Less turnovers in testing staff. </li></ul>
  14. 14. Testing strategies (cont.) <ul><li>For functionality changes: </li></ul><ul><li>Tracing requirements to see cases affected by </li></ul><ul><li>changes. </li></ul><ul><li>Modular testing. </li></ul><ul><li>For quality of product: </li></ul><ul><li>More variety in types. </li></ul><ul><li>Better tools. </li></ul><ul><li>Better unit test tools for developers </li></ul>
  15. 15. Testing strategies (cont.2) <ul><li>To control test effort cost: </li></ul><ul><li>PM tool for estimations. </li></ul><ul><li>Add root cause analysis. </li></ul>
  16. 16. Test Design <ul><li>Art and science. </li></ul><ul><li>Structured: </li></ul><ul><li>Boundary value </li></ul><ul><li>Decision table </li></ul><ul><li>Equivalence class partitioning </li></ul><ul><li>Un structured: </li></ul><ul><li>Random </li></ul><ul><li>Ad hoc </li></ul><ul><li>Exploratory </li></ul>
  17. 17. Test Coverage of code <ul><li>Impossible to cover all the code. </li></ul><ul><li>Depends on the definition of ”covering”! </li></ul><ul><li>Does it mean executing, reading, testing? </li></ul><ul><li>Use Tom McCabe’s basis technique. </li></ul>
  18. 18. Tom McCabe’s basis technique. <ul><li>1-Draw a flow graph.(nodes and edges) </li></ul><ul><li>2-Compute the metric cyclomatic complexity (nodes). </li></ul><ul><li>No.edges-no.Nodes+2=cc </li></ul><ul><li>3-Choose paths. (cover all nodes and edges) </li></ul>
  19. 19. Test Execution <ul><li>Defined in a test plan (Pseudo code and </li></ul><ul><li>flow graph) </li></ul><ul><li>Cover all specifications is important.(categorize </li></ul><ul><li>according to testable or not) </li></ul><ul><li>Define components: hardware, software, </li></ul><ul><li>personnel, data, automated tools. </li></ul>
  20. 20. Testing documentation <ul><li>Media vary depending on level of detail: </li></ul><ul><li>Word doc. </li></ul><ul><li>Spread sheets. </li></ul><ul><li>Databases. </li></ul><ul><li>Within automated test tools. </li></ul>
  21. 21. IEEE Testing documentation <ul><li>Test plan </li></ul><ul><li>Test design </li></ul><ul><li>Test cases </li></ul><ul><li>Test procedures </li></ul><ul><li>Test logos </li></ul><ul><li>Incident reports </li></ul><ul><li>Test summary report </li></ul><ul><li>Test item transmittal report </li></ul>
  22. 22. Test management <ul><li>Estimating schedules. </li></ul><ul><li>Planning for staffing and training. </li></ul><ul><li>Identifying and planning tasks. </li></ul><ul><li>Monitoring the execution of the plans and </li></ul><ul><li>re-planning based on results. </li></ul>
  23. 23. <ul><li>Any questions? </li></ul><ul><li>Thank You for your attention. </li></ul>

×