Agile Testing

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 LavaLamp?s.

"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 StressTest?s 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...


EditText of this page (last edited October 1, 2008) or FindPage with title or text search