Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software Testing Project: Testing csmap program


Published on

Final presentation 20130625

Published in: Software
  • Be the first to comment

  • Be the first to like this

Software Testing Project: Testing csmap program

  1. 1. Software Testing Project: Testing csmap program 生醫電資所 黃建龍 2013.6.25
  2. 2. csmap - Conservation Score Mapper ● Mapping the given range of a sequence to conservation scores of a chromosome. ● It used mmap, indexing and bisect module for accessing data fastly. ● However, to determine which sites are on the segments is complicated and error- prone.
  3. 3. ● For display of dense, continuous data such as GC percent, probability scores, and transcriptome data. ● The conservation score is calculated with whole genome multiple sequence alignments. ● Segmented of many continuous data Wiggle Track Format (WIG)
  4. 4. Wiggle Track Format (WIG)
  5. 5. It moves the pointer to some other part of the file so you can read or write at that place. e.g. seek(0) will move the pointer to the beginning of file.
  6. 6. Testing Process ● Unit testing ○ Built-in unittest module (PyUnit) ○ Generation of test cases ● Coverage testing ○ ● Mutation testing ○ PyMuTester
  7. 7. Unit testing ● Testing a class or individual function. ● Comparison of expected value and return value.
  8. 8. unittest Module (PyUnit) 1. The test runner will run that method prior to each test. 2. The test runner will invoke that method after each test.
  9. 9. unittest Module (PyUnit)
  10. 10. Generation of Test Cases ● 5 regions. ● The length of each region: 10 ● The distance of two neighboring regions: 10
  11. 11. Generation of Test Cases
  12. 12. Results
  13. 13. ● ( ○ It monitors your program, noting which parts of the code have been executed, then analyzes the source to identify code that could have been executed but was not. Coverage testing
  14. 14. Coverage testing
  15. 15. HTML display
  16. 16. Bug fixes with test case 14.
  17. 17. Mutation testing ● It involves modifying a program's source code in small ways. ● Mutations are based on well-defined mutation operators (such as using the wrong operator or variable name). ● It helps developers locate weaknesses in the test cases used for the program.
  18. 18. PyMuTester
  19. 19. Results
  20. 20. Results Total: 21 ● Alive: 0 (0.0%) ● Killed 11 (52.4%) ● Unreachable: 10 (47.6%)
  21. 21. Conclusion ● Unit testing, coverage testing and mutation testing were used in this study, and a bug revealed under testing. ● The results of coverage testing and mutation testing indicated that test cases were insufficient or some of codes was unreachable.