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.

Testing -Don Gilman


Published on

  • Be the first to comment

  • Be the first to like this

Testing -Don Gilman

  1. 1. Software Testing in Small Teams Don R. Gilman, P.E.: Energy Systems Lab – TEES Advanced Gaming Systems Inc
  2. 2. The Presenters <ul><li>Don </li></ul><ul><li>Professionally programming/managing IT applications since 1984 </li></ul><ul><li>Contributed to over one million units of various computer games </li></ul><ul><li>Licensed Professional Software Engineer (one of about 35 in the entire US) </li></ul><ul><li>Member of the Software Engineering Task Force for the Texas PE Board </li></ul><ul><li>Manager, Software Engineering Group – Energy Systems Laboratory – TEES </li></ul>
  3. 3. Presentation Overview <ul><li>What is testing? </li></ul><ul><li>What are the levels of testing? </li></ul><ul><li>Types of testing: </li></ul><ul><li>Who tests? </li></ul><ul><li>Case Studies </li></ul><ul><ul><li>Unit Testing </li></ul></ul><ul><ul><li>eCalc Automated Testing </li></ul></ul><ul><ul><li>A Computer Game </li></ul></ul><ul><li>Summary </li></ul><ul><li>Questions </li></ul>
  4. 4. What IS Testing? <ul><li>IEEE : The process of operating a system or component under specification conditions, observing and recording the results, and making an evaluation of some aspect of the system or component. </li></ul><ul><li>Boehm : Verification and Validation </li></ul><ul><ul><li>Verification – are we building it right? </li></ul></ul><ul><ul><li>Validation – are we building the right thing? </li></ul></ul>
  5. 5. Testing is NOT <ul><li>Code inspections </li></ul><ul><li>Design reviews </li></ul><ul><li>Configuration management </li></ul><ul><li>Bug tracking </li></ul><ul><li>These are, along with testing , are part of Software Quality Assurance (SQA). Together these improve the quality of the product </li></ul>
  6. 6. Types of Testing: <ul><li>Scope </li></ul><ul><ul><li>Unit </li></ul></ul><ul><ul><li>Module </li></ul></ul><ul><ul><li>Integration </li></ul></ul><ul><ul><li>Interface </li></ul></ul><ul><ul><li>Coverage </li></ul></ul><ul><li>Purpose </li></ul><ul><ul><li>Functional </li></ul></ul><ul><ul><li>Stress </li></ul></ul><ul><li>Execution </li></ul><ul><ul><li>Manual </li></ul></ul><ul><ul><li>Automated </li></ul></ul><ul><li>Phases/Triggers </li></ul><ul><ul><li>Nightly Builds </li></ul></ul><ul><ul><li>Defect Removal </li></ul></ul><ul><ul><li>Change Order Completion </li></ul></ul><ul><ul><li>Alpha </li></ul></ul><ul><ul><li>Beta </li></ul></ul>
  7. 7. Who Tests? <ul><li>Developers </li></ul><ul><ul><li>Unit testing </li></ul></ul><ul><li>QA Team </li></ul><ul><ul><li>Module testing, automated testing </li></ul></ul><ul><li>Software </li></ul><ul><ul><li>Automated testing </li></ul></ul><ul><li>Designers </li></ul><ul><ul><li>Engineers, Analysts </li></ul></ul><ul><li>Users </li></ul><ul><ul><li>Unpleasant but true </li></ul></ul>
  8. 8. Who … some thoughts <ul><li>All New Members </li></ul><ul><ul><li>To train </li></ul></ul><ul><ul><li>To get fresh test paths </li></ul></ul><ul><ul><li>In Industry – not a good model </li></ul></ul><ul><ul><li>In Gaming – a great way to recruit </li></ul></ul><ul><li>Release/QA Folks </li></ul><ul><ul><li>Typically Engineers or Accountants </li></ul></ul><ul><ul><li>CompSci typically make lousy testers </li></ul></ul>
  9. 9. Case Study: Unit Testing What is Unit Testing? <ul><li>Lowest Level of Testing </li></ul><ul><li>Programmer Safety Net </li></ul><ul><li>Instant Feedback </li></ul><ul><li>Documentation </li></ul>
  10. 10. Case Study: Unit Testing Good Unit Tests: <ul><li>Tests functionality not edge cases </li></ul><ul><ul><li>GOOD: 100 points damage to demon == death </li></ul></ul><ul><ul><li>BAD: referencing null demon throws exception </li></ul></ul><ul><li>Capture the meaning behind the code in tests </li></ul>
  11. 11. Case Study: Unit Testing xUnit Tool: <ul><li>Unit testing tools in many languages </li></ul><ul><ul><li>.NET: NUnit </li></ul></ul><ul><ul><li>Java: junit </li></ul></ul><ul><ul><li>C++: CppUnit </li></ul></ul>NUnit
  12. 12. Case Study: e 2 Calc
  13. 13. Case Study: e 2 Calc
  14. 14. Case Study: e 2 Calc
  15. 15. Case Study:Games
  16. 16. Case Study: Games <ul><li>Manual Testing </li></ul><ul><ul><li>Coder </li></ul></ul><ul><ul><li>Core team </li></ul></ul><ul><li>Public Alpha/Beta Testing </li></ul><ul><ul><li>Sometimes process andfocus areas listed on websites </li></ul></ul><ul><li>Tools </li></ul><ul><ul><li>Command lines for auto logging </li></ul></ul><ul><ul><li>Screen dumps </li></ul></ul><ul><ul><li>Saved games </li></ul></ul><ul><ul><li>Debug compiles </li></ul></ul><ul><ul><li>Game vs game – with new log analysis tools </li></ul></ul>
  17. 17. Case Study: Games
  18. 18. Case Study: Games
  19. 19. Case Study: Games
  20. 20. Summary <ul><li>Writing automated tests is one of the most difficult programming assignments </li></ul><ul><li>Design to Test </li></ul><ul><li>Let the computer do the dirty work </li></ul><ul><li>Not everyone is wired to do this – only the successful succeed. </li></ul>It’s done means it is DONE! Accurate deliveries Reliable Production Correct Code Maintainable Code
  21. 21. Resources <ul><li>Software Development Magazine ( ) </li></ul><ul><li>CrossTalk ( /crosstalk ) </li></ul><ul><li>Better Software ( ) </li></ul><ul><li>The Rational Edge ( ) </li></ul><ul><li>SEI ( ) </li></ul><ul><li>TDD, an Introduction: ( ) </li></ul><ul><li>Object Mentor – TDD: ( ) </li></ul>
  22. 22. SE Books we’ve read that matter <ul><li>How to Win Friends and Influence People , Carnegie </li></ul><ul><li>Software Requirements , Wiegers </li></ul><ul><li>Agile Project Management , Jim Highsmith </li></ul><ul><li>Planning Extreme Programming , Beck/Fowler </li></ul><ul><li>Agile Project Management w Scrum Schwaber </li></ul><ul><li>Mythical Man Month , Brooks </li></ul><ul><li>Test Driven Development: By Example , Kent Beck </li></ul><ul><li>MS Solutions Framework Papers </li></ul><ul><li>Decline and Fall of the American Programmer , Yourdan </li></ul><ul><li>The E-Myth Revisited , The E-Myth Manager , Gerber </li></ul>
  23. 23. Questions?