An open source QA stack

advertisement
An open source QA stack
testing tools for agile teams
Presented by Aaron Evans
aarone@one-shore.com
What do you mean by QA stack?
tools used by:
• testers
• developers
• customers
to ensure quality including:
• documentation
• defect tracking
• version control
• build and deployment
• code analysis
• automated regression testing
By "QA stack", I mean the collection of tools
used by everyone (not just testers) to help to
ensure quality.
The specific stack I'll discuss includes the
following general categories:
• documentation
• defect tracking
• version control
• build and deployment
• code analysis
• automated regression testing
It could easily include documentation for
requirements and features, test cases and
defects, acceptance criteria and domain
knowledge, environment setup and
deployments.
But this "stack" is specifically about moving
knowledge out of documentation and into
automation. Code and utilities to make sure a
product is build, deployed, and tested in a
consistent, repeatable way.
Isn't that a broad definition of QA?
Yes.
Yes, but quality isn't just the job of testers. It's
just that they get blamed when quality is lacking.
The development stack might consist of a
compiler, an IDE, various libaries, a database,
and a server to deploy to, but while many of
these tools are for programmers, they're not part
of the product being delivered.
And while developers may have and use a copy
of the database or web server installed locally,
adminstering those applications isn't really in
their domain of expertise, but for convenience (of
testing), they have to learn to use them.
Ask a developer, and they'll tell you that they
have to do everything.
So when I talk about the
testing tools for agile teams
Isn't that a broad definition of QA?
Why open source?
What do you need?
Requirements
Test Cases
Test Execution
Test Results
Defects
Feature Requests
Acceptance Criteria
First, kill all the managers
Test management
Requirements management
Defect management
Task management
Project management
Document management
What do you really need?
Keep it simple
A solid foundation
Version control
• CVS
• Subversion
• Git
• Mercurial
• Bazaar
The most basic QA tool
Defect tracking
A better compiler
Unit tests & Code analysis (code coverage, lint, formatting,
document generation.)
Getting from here to there
Deployment
Do it again and again
Automation
A framework for success
Test Harness
Putting it all together
Continuous integration
Download