Read the essay,
Agile Methods and Agile Testing, by
BrianMarick -
http://www.testing.com/agile/agile-testing-essay.html .
Someone asked news:comp.software.testing what a job listing for a QA Analysis role would read. A local WikiZen replied:
Try this:
We are looking for a senior troublemaker and troubleshooter, with experience
working directly with teams and customers to convert high-level requirements
into testable specifications. The successful applicant will maintain a rig
of acceptance tests in a format that our customers can edit and launch. You
will assist developers to integrate this rig with their unit tests, and you
will help research how to test difficult situations. You will automate a
test server that will run the entire test corpus each time our codebase
changes, and will escalate issues via e-mail and via green and red lava
lamps.
To track progress, you will instrument these tests to collect metrics
appropriate to our business situation. You will store these metrics in a
light database, and publish a daily "burn-down" chart of these metrics, to
publish on our walls.
To detect bugs, you will research advanced stress-tests and cross-tests that
assault our code with sick scenarios, looking for gaps between the
requirements and our developers' implementations. You will assist in each
weekly release, and demo our product to customer representatives.
Someone replied that was hilarius (sic), so our WikiZen explicated each hilarious point with a citation:
We are looking for a senior troublemaker
"Tester's
GoldenRule: Do unto others until they hate you"
http://www.howtobreaksoftware.com/default.cfm
and troubleshooter, with experience working directly with teams and customers
"i like the testers to be additional facilitators acting between the
OnsiteCustomer and the developers"
http://developer.jot.com/WikiHome/2005-5-18-StoryWorkflow/Comment14
to convert high-level requirements into testable specifications.
"Testers help gather and review the project requirements."
http://xpwestmichigan.org/media/files/TesterRole.ppt
The successful applicant will maintain a rig of AcceptanceTests in a format that our customers can edit and launch.
"
FitNesse enables customers, testers, and programmers to learn what their
software should do, and to automatically compare that to what it actually
does do. It compares customers' expectations to actual results."
http://fitnesse.org/
You will assist developers to integrate this rig with their UnitTests,
"
TestDrivenDevelopment is a development technique where you must first write a test that fails before you write new functional code."
http://www.agiledata.org/essays/tdd.html
and you will help research how to test difficult situations.
"The implication is that the traditional approach of creating a (nearly)
complete set of logical and physical data models up front isn't going to
work."
http://www.agiledata.org/essays/databaseRefactoring.html
"We should be able to write new test cases that force predictable changes in
a GUI's appearance and response. All other libraries submit to program
control, making prediction easy. But GUIs have a side that only users can
see or touch."
http://www.c2.com/cgi/wiki?TestFirstUserInterfacesPrinciples
You will automate a TestServer that will run the entire test corpus each time our CodeBase changes,
"An important part of any software development process is getting reliable
builds of the software. Despite it's importance, we are often surprised when
this isn't done. We stress a fully automated and reproducible build,
including testing, that runs many times a day. This allows each developer to
integrate daily thus reducing integration problems."
http://cruisecontrol.sourceforge.net/ (CruiseControl)
and will escalate issues via e-mail and via green and red LavaLamps.
"To broadcast the test status, without adding to developers' crowded e-mail
Inboxes, use an x10 controller and red & green lava lamps, raised on a
platform so all developers can see them. Failing tests trigger a red lava
lamp, motivating developers to track down faults and activate the green
lamp."
http://flea.sourceforge.net/gameTestServer.pdf
To track progress, you will instrument these tests to collect metrics appropriate to our business situation. You will store these metrics in a light database, and publish a daily BurnDownChart of these metrics, to publish on our walls.
"The idea of the
BigVisibleChart is to communicate the plan, the progress, the test results and the domain model."
http://blogs.wdevs.com/colinangusmackay/archive/2005/04/26/3126.aspx
To detect bugs, you will research advanced StressTests and cross-tests that assault our code with sick scenarios, looking for gaps between the requirements and our developers' implementations.
"Stress testing tries to break the system under test by overwhelming
its resources"
http://agiletesting.blogspot.com/2005/02/performance-vs-load-vs-stress-testing.html
You will assist in each FrequentReleases, and demo our product to customer representatives.
"The role of testing at this step is to ensure that customer
FeedBack is
incorporated in the next version of the prototype. "
http://msdn.microsoft.com/library/en-us/dnpag2/html/mtf_ch02.asp
In summary, jeeze-louieeze even MSDN thought my summary was hilarious! This stuff must be catching on if even MicrosoftCorporation gets it...