Wincor Nixdorf International GmbH Banking Division Application Software Solution Quality Assurance Heinz-Nixdorf Ring 1 D-33106 Paderborn www.wincor-nixdorf.com Sascha Koch Dipl. Inf. Engineer Test & Quality Telefon (0 52 51) 693 37 15 Fax: (0 52 51) 693 36 19 E-Mail: sascha.koch@wincor-nixdorf.com Notions of a testing fellow
Introduction Table of Contents Motivation QA from the Developers Point of View QA from the Testers Point of View Conclusion
Introduction V-Modell Testers Requirements Design Implementation Validate Validate Validate Unit Test System Test Integration Test Developers
QA Developers Point of View Test Driven Development Set of different techniques (XP) Fast feedback, flexibility, clean code Result in simple design and tests Refactor Test fails few minutes Test succeeds
QA Developers Point of View Test Driven Development II / JUnit %%&'" ( ) *" + " # %(%(,*"# %(%(-%# %(. / 01 0" 22 / 01 $0" # #! " # $" # # # + ) )
QA Developers Point of View Test Driven Development III / JUnit 3!!!4 0 0 5%6607)% 8%%9%( )%(%:!;*!: %( % 07 3.<=,+>>>?13 01%!
QA Developers Point of View Continous Integration Problem: Integration is painful! Solution: Integrate more often. Automated project builds OS projects: Repository Check Out Generate Report Build Run Tests
QA Developers Point of View Refactoring Change a design in small steps Behaviour remains the same (hopefully) Remove duplicate code Benefit is a more simple design More than 90 patterns available
QA Developers Point of View Best Practices Coding Standards Integrated Development Environment (IDE) Design Patterns VCS and/or CMS UML/Case Tools (when introduced) Detailed Specification of Requirements Frameworks and Code Generator
QA Testers Point of View Test Planning Testplans Prerequisites, expected results, actual result Testconcept What to test, end of tests Quality report Requirements Specification Testplans Design Document Coding Testing Quality Report Testconcept
QA Testers Point of View Test Excecution Bug tracking (e.g. Bugzilla) Tests Smoke test (Installation, Quick start) Functional tests (Detailed tests) Regression tests (Which tests?) Load tests (Check for leaks, stability) Performance tests (Requirements) Value of a test measured in BPM
QA Testers Point of View Test Analysis Check the log files Provided tools Complete suites like Borland OptimizeIt (tm) or Quest JProbe(tm) Compute metrics # of Bugs, Bugs/LOC Test coverage, open tests, failed tests
QA Testers Point of View Test Analysis II Borland OptimizeIt (tm) Surreptitious advertising!!!
EJB Container Web Container QA Testers Point of View Test Automation Concentration on Black Box tests Simulators, The Grinder, JMeter Test results must be available Capture Replay Replay EJB Container Web Container Capturing (Proxy) Client TCP/IP TCP/IP
QA Testers Point of View Test Automation II JMeter / The Grinder
QA Testers Point of View End of Testcycle Defined in the testconcept All defined tests are accomplished No more errors exist Full code coverage Found errors Risk = Probability * Amount of loss (Rayleigh Equation) (http://www.globaltester.com/)
Conclusion Fazit Development and testing move together Testautomation becomes more important A lot of tools available We are what we repeatedly do. Excellence, then, is not an act, but a habit. -- Aristotle BC 384-322
Conclusion Links General http://www.globaltester.com http://www.qaforums.com http://www.professionaltester.com Agile Testing http://www.junit.org http://www.testdriven.com http://www.refactoring.com Test Companies (Publications) http://www.oio.de http://www.sqs.de Continous Integration http://cruisecontrol.sf.net http://gump.apache.org http://www.urbancode.com/projects/ anthill/ Code Coverage http://hansel.sf.net http://www.scoopgmbh.de/scoop/downloads.htm Test Automation http://jakarta.apache.org/jmeter http://grinder.sf.net
Conclusion Thank you Thank you very much for your attention!