Software Testing Tutorials for use in Undergraduate Software ...

1,395 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
1,395
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Software Testing Tutorials for use in Undergraduate Software ...

  1. 1. Software Testing Tutorials for use in Undergraduate Software Engineering Courses Sarah Heckman Department of Computer Science North Carolina State University STEW – April 1, 2009
  2. 2. Contents • Software Engineering Testing Tutorials – Overview – Testing Frameworks – Coverage – Performance Testing – Mutation Testing – Static Analysis • Usage of Tutorials STEW – April 1, 2009 2
  3. 3. Software Engineering Tutorials • Suite of tutorials to introduce students to testing tools supported in the Eclipse and Jazz integrated development environments • Testing tutorials – Testing Frameworks: JUnit, FIT, HttpUnit – Coverage: EclEmma, Jazz Code Coverage, djUnit – Performance Testing: Rational Performance Tester – Mutation Testing: MuClipse, Jumble – Static Analysis: FindBugs • http://agile.csc.ncsu.edu/SEMaterials/tutorials/ STEW – April 1, 2009 3
  4. 4. Tutorial Contents STEW – April 1, 2009 4
  5. 5. Tutorial Contents STEW – April 1, 2009 5
  6. 6. Tutorial Contents STEW – April 1, 2009 6
  7. 7. Tutorial Contents STEW – April 1, 2009 7
  8. 8. CoffeeMaker Exercise • Small, program with User Stories and Use Case requirements • Five seeded faults for JUnit and FIT tutorials • HttpUnit tutorial builds on the JSP tutorial where students test the code they recently wrote STEW – April 1, 2009 8
  9. 9. Testing Frameworks - JUnit • Two Versions – Eclipse – Jazz • Contents – Directory structure for tests – How to create a class, suite, and run tests – Jazz version has info about JUnit 3.8.1 and 4.0 – CoffeeMaker exercise STEW – April 1, 2009 9
  10. 10. Testing Framework - FIT • Directory structure for tests • How to install FITRunner plug-in for usage in Eclipse • How to create ColumnFixtures, ActionFixtures, and run tests using FITRunner • CoffeeMaker exercise STEW – April 1, 2009 10
  11. 11. Testing Framework - HttpUnit • Black box testing and security testing versions • Introduces HttpUnit objects like WebConversation • Goes through writing an example acceptance test • Helpful hints and tips • CoffeeMaker exercise STEW – April 1, 2009 11
  12. 12. Testing Coverage • EclEmma – Records test coverage for JUnit and highlights covered and uncovered lines • Jazz Code Coverage – Built into Jazz IDE • djUnit – Eclipse plug-in to calculate coverage for JUnit test cases • CoffeeMaker exercise to achieve 90% code coverage STEW – April 1, 2009 12
  13. 13. Performance Testing • Rational Performance Tester – Virtual Computing Lab instance – Academic license for students in class • Create HttpUnit tests with performance schedules • Exercise on larger teaching program, iTrust STEW – April 1, 2009 13
  14. 14. Mutation Testing • MuClipse – Eclipse plug-in that supports mutation testing program muJava • Jumble – another Eclipse plug-in mutation testing tool • Shows how to create program mutants that test the test code • CoffeeMaker exercise to kill 10 mutants STEW – April 1, 2009 14
  15. 15. Static Analysis • FindBugs – Eclipse plug-in for Java static analysis tool • AWARE – Eclipse plug-in to identify actionable static analysis alerts • Demonstrates functionality of FindBugs and AWARE STEW – April 1, 2009 15
  16. 16. Use of SE Tutorials • Undergraduate Software Engineering course • Graduate Software Testing and Reliability course STEW – April 1, 2009 16
  17. 17. Tutorials as Homework • Used as part of homework assignments where students deliver exercise results STEW – April 1, 2009 17
  18. 18. Tutorials in Lab Exercises STEW – April 1, 2009 18
  19. 19. Acknowledgements • SE Tutorials: Xiao Bao, Lynn Cunningham, Lauren Haywood, Dright Ho, Andy Meneely, Ben Smith, Laurie Williams STEW – April 1, 2009 19
  20. 20. Questions? Sarah Heckman sarah_heckman@ncsu.edu http://agile.csc.ncsu.edu/SEMaterials/tutorials/ STEW – April 1, 2009 20

×