Practical QA in a Nutshell. Notions of a testing fellow. Sascha Koch. Dipl. Inf.
Engineer Test & Quality. Wincor Nixdorf International GmbH. Banking Division ...
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 Fax:
(0 52 51) 693 – 37 15 (0 52 51) 693 – 36 19
E-Mail:
[email protected]
Practical QA in a Nutshell Notions of a testing fellow
Introduction Table of Contents
Practical QA in a Nutshell
• • • •
Motivation QA from the Developers Point of View QA from the Testers Point of View Conclusion
Introduction V-Modell Testers Practical QA in a Nutshell
System Test
Validate
Requirements
Validate
Design Implementation
Integration Test Unit Test
Validate
Developers
QA – Developers Point of View Test Driven Development
Practical QA in a Nutshell
• Set of different techniques (XP) • Fast feedback, flexibility, clean code • Result in simple design and tests Test fails
few minutes
Refactor Test succeeds
QA – Developers Point of View Test Driven Development II / JUnit
%
% & '" (
Practical QA in a Nutshell
*
) "
!
+
"
"
#
#
$ " # %
(
% (
%
(
% (
% (
-%
*
" #
#
# #
.
/ 22
,
01 /
0 01
" $0
+
"
# #
)
)
QA – Developers Point of View Test Driven Development III / JUnit
Practical QA in a Nutshell
3 ! !!4 0 0
5 %
6
8
%
)% (
%
6 %
:
9
07 )%
%
(
! ;* !:
%
(
% 3.>> ?1
3
01
%
!
QA – Developers Point of View Continous Integration
Problem: Integration is painful! Solution: Integrate more often. Automated project builds OS projects: Check Out Repository
Practical QA in a Nutshell
• • • •
Build
Generate Report
Run Tests
QA – Developers Point of View Refactoring
Practical QA in a Nutshell
• • • • •
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
Practical QA in a Nutshell
• • • • • • •
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 Practical QA in a Nutshell
– Prerequisites, expected results, actual result
• Testconcept – What to test, end of tests
• Quality report Requirements Specification Testplans Testconcept
Design Document
Coding Testing
Quality Report
QA – Testers Point of View Test Excecution
Practical QA in a Nutshell
• 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
Practical QA in a Nutshell
• 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)
Practical QA in a Nutshell
Surreptitious advertising!!!
QA – Testers Point of View Test Automation
Capture
EJB Container
TCP/IP
Web Container
Replay
TCP/IP
EJB Container
Capturing (Proxy)
Replay Web Container
Client
Practical QA in a Nutshell
• Concentration on Black Box tests • Simulators, The Grinder, JMeter • Test results must be available
QA – Testers Point of View Test Automation II – JMeter / The Grinder
Practical QA in a Nutshell
QA – Testers Point of View End of Testcycle
• Defined in the testconcept Practical QA in a Nutshell
– All defined tests are accomplished – No more errors exist – Full code coverage Risk = Probability * Amount of loss (Rayleigh Equation) Found errors
(http://www.globaltester.com/)
Conclusion Fazit
Practical QA in a Nutshell
• 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
Practical QA in a Nutshell
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
Practical QA in a Nutshell
Thank you very much for your attention!