Agile Testing
Introduction
The course for anyone interested in testing and quality aspects of Agile development.
Course Description
The course is designed to guide the student through the adoption and use of best practice agile techiques. Through a gradual adoption of key skills we introduce the student to he fundamental principles under pinning Agile adoption, and then guide them through developer tests in an Agile environment, automation of tests and integration into a Continuous Build and Integration platform. Finally we cover how to measure and report all aspects of software quality.
Topic
- Introduction to Agile
- Principals of Agile Testing
- Automated Acceptance Testing
- Continuous Integration
- Test Organisation
- Test Tools
- Measuring & Reporting
Benefits
Completing this course will provider the student with the ability to utilise best practise agile software testing practices and tools. They will be able to drive the quality of their projects to new heights.
Audience
Developers and Testers involved or looking to get involved in Agile projects or just looking to gain th benefits of some of the latest thinking and best practice in software testing.
Duration
3 Days
Prerequisites
Experience of work on IT based software development projects. The course can be run in either a Java or .NET environment Ruby, PHP and Flex can be made available upon request.
Course Outline
- Background to Agile
- Traditional Software Development
- The Vicious Circle
- Seven Wastes of Software Development
- Change is inevitable
- Harsh Realities
- Cost of Change
- The "Shunt" Effect
- Predictability
- Traditional Challenges
- Overview of Agile
- The Agile Manifesto
- Agile Values
- Value Realisation
- Proven Metrics
- Agile Thinking
- Ten rules of Agile Development
- Industry Perspective
- Myth Busting
- Principles of Agile
- Releases, Iterations, Project Heart Beat
- Roles & Reponsibilities
- What roles do QAís play?
- What roles do developers play?
- What roles do BAís/Customers play?
- Automated Acceptance Testing
- What is Automated Acceptance Testing.
- Where does Acceptance Testing fit in an Agile process?
- What does the term Executable Specification mean?
- What impact does Acceptance Testing have on quality and productivity?
- What tools are available? (FIT, FitNesse, FitLibrary, etc)
- How to write Acceptance Tests first, before writing the code?
- How to organize Stories, Acceptance Criteria and Acceptance Test better?
- How to create different levels of test suites to give feedback at different levels?
- How to version control the FitNesse wiki with their source code?
- Continuous Integration
- Integrate FitNesse with their builds, so that they can run their acceptance tests as part of their Continuous Integration loops
- Integrate FitNesse with CruiseControl
- Execute acceptance tests against the server side components in a web/app server
- What patterns and anti-patterns teams use for ATTD?
- Test organization
- Where to put tests
- Projects, packages, and resources
- Test initialization and cleanup
- Sharing information between tests
- Test implementation patterns
- Configured instance,Aggregate state, Validation
- Server-side testing
- Tests on the server vs. tests as remote client
- Cactus, HTTPUnit, Test Mentor
- Load testing
- JUnitPerf
- Enhanced JUnit
- Testing asynchronous processes
- Database testing
- DBUnit
- SQLUnit
- JUnit extension, Inner classes,Test Mentor
- Mock Objects
- MockMaker
- EasyMock
- MockObjects framework
- UI Testing
- GUI playback tools and frameworks
- HTTPUnit
- Selenium
- FIT, FITNesse
- Developing fixtures as a way to enable others to write acceptance tests
- Test Metrics
- Further reading
Cost
£800 + VAT per delegate. Contact us for onsite costs
There is a maximum of 8 delegates per course
Further Information
To find out more about this course, enquiry about the next scheduled course, or discuss booking an inhouse course, email us at info@magneticreason.com or call us on +44(0)1484 866033