|
Test Strategy and Techniques — A 4-Day Course
Synopsis
This intensive course in software testing provides an overview and hands-on
experience of the critical test types performed during the lifetime of a
project. Everything is testable. However, we pay attention to the ROI in terms
of testing benefits and put this in the context of XP development. Modern
"incremental" software testing is presented, based on the JUnit /HttpUnit/Java
testing philosophy, together with more conventional forms of test. Tools for
managing and automating software tests are presented, together with methods to
make their use viable. The integration of metrics, testing, designing for
testability and modern software development techniques as presented here will
enable attendees to deliver quality products with confidence.
Course Objectives
The course covers:
- Test Planning and the Master Test Plan
- Software lifecycles — RAD, XP, Staged, Waterfall and how testing is performed within them
- The Test Lifecycle
- Testing Types
- Prioritised Testing
- Bug Classification
- Requirements gathering and management
- Acceptance test design
- Inspections and reviews
- CMM
- Reusable tests
- Tests and Test Metrics
- Incremental testing with Junit, JTest, JContract and HttpUnit
- Creating a Testbed
- Design by Contract
- Web-based Testing
- Continuous Process Improvement
- Risk Based Testing
- Problem avoidance
- Network Tests and Performance simulation
- Use Cases Design
- Test Generation from Use Cases
- Static and Dynamic testing
- Integrated Regression testing
- Master Test Plan
- Knowing when Testing is Completed
Suitable For
- Project Managers
- Lead analyst / programmers
- Test Specialist Staff
- Staff needing a view on Test Planning
- Staff expecting to move test groups
Prerequisites
- Exposure to software development
- Familiarity with multi-person projects
- Some exposure to programming languages and development issues
Timetable
- Register at 09:00 on day one for 09:30 start.
- 09:00 start on successive days.
- Finish at 17:00 each day.
Presentation Style
- Lectures, demonstrations and group discussions.
Dates and Venues
- Refer to Course Schedules.
Outline Course Contents
- Introduction to Testing
- What it is
- What it is not
- Quality and Testing
- Influence of Lifecycle
- RAD
- Spiral
- Waterfall
- V-Model
- Agile Processes
- Extreme Programming
- CMM
- Refactoring
- Test Strategies
- What if it is not Testable?
- Error definitions
- Fault classifications
- Traceability matrix
- Risk Assessment and Testing
- Test ROI
- Inspections
- Reviews
- Project Test Strategies
- Introduction to Test Design and Automation
- Requirements Management and Test
- Good Requirements and how to get them
- Interviews, JAD, Storyboards, Use Cases
- Functional Requirements
- Non-functional Requirements
- Testing Requirements
- Review Techniques
- Checklists
- Designing Acceptance Tests
- UML and Testing
- UML Introduction
- UML and Design Process
- Use Cases and Requirements
- Scenarios with Test Director
- Test Case Derivation
- Lock-in to Acceptance Tests
- Design Tools: Rational Rose
- Testing Types/Phases
- Functional
- System
- User acceptance
- Performance
- Usability
- Configuration
- Installation
- Security
- Structure
- Stress
- Recovery
- Volume
- Environment
- Unit
- GUI
- Daily Build and Smoke test
- Regression testing
- Instrumentation
- Creating & Maintaining a Test Bed
- The Testing Lifecycle
- Re-usable Tests
- Test Harnesses
- Equipment
- JUnit
- JUnit examples
- Test databases
- Configuration control
- Regression testing
- Data conversions
- Code Testing
- Design of Code Tests
- Black Box testing
- White Box testing
- Equivalence Testing
- Documenting Code Tests
- OO
- Testing and Design by Contract
- DbC and Java
- Introduction to Automatic Test Tools
- Testing in Distributed Environments
- Client Side Tests
- Server-side Tests
- Performance Issues
- Network Simulation
- Security Testing in Distributed Environments
- Test Automation
- Product Review
- Tool Categories
- Comparison of Tools
- Designing Automated Tests
- Issues of Test Automation
- Planning Test Automation
- Configuration Management in Test Automation
- Web Testing
- Issues of Web Testing
- Web Testing Framework (WATF)
- HttpUnit
- Examples of Using HttpUnit
- HttpUnit and JUnit
- Jakarta Cactus
- References
- Test Metrics
- Test Metrics
- Metric Gathering
- Useful Metric Analysis
- The Metrics Database
- ROI and Ease of Use
- Drowning in Paper
- The Master Test Plan
- Contents and use
- Identification & prioritization
- Developing an MTP
- Reporting Results
- Test Completion
- When is enough?
- Quality vs. Testing
- Analysis
- Lessons Learned
- Feedback
- Continuous Improvement
- Review
- Testing and Lifecycles
- Introducing a Test Culture
- Further Information
- References
- Information on where to research on Testing
|
Publicly Scheduled Training Locations
We currently run public training courses in the following locations:
- London, UK
- Leeds, West Yorkshire, UK
- Birmingham, West Midlands, UK
- Carshalton, Surrey, UK
- Chester, North West, UK
- Coventry, West Midlands, UK
- Edinburgh, Scotland, UK
- Glasgow, Scotland, UK
- Harwell, Oxfordshire, UK
- Manchester, North West, UK
- Milton Keynes, Buckinghamshire, UK
- Newark, Nottinghamshire, UK
- Reading, Berkshire, UK
- Slough, Berkshire, UK
- Stevenage, Hertfordshire, UK
- Wakefield, West Yorkshire, UK
- Wokingham, Berkshire, UK
Most UK public training courses are available on a monthly basis.
Please see the individual course outlines or our public
training schedule
for details.
In-house (on-site) training locations
We deliver in-house courses at client premises and/or training facilities in
any part of the world which is practically and commercially accessible.
Our In-house training guidelines
outline our basic requirements and our UK pricing structure. To estimate costs
for training in other countries, simply convert to your local currency and then
make a rough calculation of our tutor's costs for travelling to and staying at
your location.
|