Skip to main content

Traditional Test Engineering is DEAD

Here's an outline of Jason Arbon's arguments for Agile methods leaving traditional test engineering in the dust.

In the Better Software (May/June 2012) article "Traditional Test Engineering, Your Days are Numbered; Turing Software Quality on Its Head."

"In this shift to agile, late cycle or manual testing efforts are often dropped or, worse, the program management and development teams embrace agile and continuous practices, but the old world regression test cycle is left hanging around like an archaic ritual that adds a few days or weeks to an engineering process that wants to be continuous."

Test Plans - quick cycles out pace the ability of managers to create the traditional test plan. Modern software development teams do more concurrent testing than was ever done in traditional processes.

Regression Testing - ninety some precent pass all the time, is this a good use of time and energy. Create a risk view of the application under test. Use automated tools and focus time and energy on these risky areas.

Textual Bug Filing and Triage - this manual process is bugger than the software being reported upon. Try logging the number of defects with the defects already recorded in your logging system. Move to automated systems that report bugs with attached screen shots of the systems and the steps to reproduce the incident.

Bug and Work Item Backlogs - the best advice for managers is "Don't". If you have to refer to a list of bugs then you don't know your software. People that know and use your software know what bugs need to be fixed. That information is in there minds daily, ask them. There is no need of a list of bugs that will take 3 years to get to the end of it. Trust me - you will not forget the really important bugs.

Test Case Databases - these are a sign of non-agile work methods.  Databases are very heavyweight, compared to a lightweight list of areas to test that the team is currently work upon, and a suite of always green, passing tests.

Release Management - we are in an era of continuous releases, the question is not if or when the release goes out the door - but only if a feature is turned on or off in that particular release.  If your features can not be expressed in this binary state, your application is really old-school.

Team Structure - many smaller companies reap the benefits of crowdsourced testing teams that and virtualized testing teams.

see also:
The 21st century definition of TEST

Post a Comment

Most Popular on Agile Complexification Inverter

Elements of an Effective Scrum Task Board

What are the individual elements that make a Scrum task board effective for the team and the leadership of the team?  There are a few basic elements that are quite obvious when you have seen a few good Scrum boards... but there are some other elements that appear to elude even the most servant of leaders of Scrum teams.

In general I'm referring to a physical Scrum board.  Although software applications will replicated may of the elements of a good Scrum board there will be affordances that are not easily replicated.  And software applications offer features not easily implemented in the physical domain also.

Scrum Info Radiator Checklist (PDF) Basic Elements
Board Framework - columns and rows laid out in bold colors (blue tape works well)
Attributes:  space for the total number of stickies that will need to belong in each cell of the matrix;  lines that are not easy eroded, but are also easy to replace;  see Orientation.

Columns (or Rows) - labeled
    To Do
    Work In P…

Exercise:: Definition of Ready & Done

Assuming you are on a Scrum/Agile software development team, then one of the first 'working agreements' you have created with your team is a 'Definition of Done' - right?

Oh - you don't have a definition of what aspects a user story that is done will exhibit. Well then, you need to create a list of attributes of a done story. One way to do this would be to Google 'definition of done' ... here let me do that for you: Then you could just use someone else's definition - there DONE!

But that would be cheating -- right? It is not the artifact - the list of done criteria, that is important for your team - it is the act of doing it for themselves, it is that shared understanding of having a debate over some of the gray areas that create a true working agreement. If some of the team believes that a story being done means that there can be no bugs found in the code - but some believe that there can be some minor issues - well, …

What belongs on the Task Board?

I wonder about these questions a lot - what types of task belong on the task board?  Does every task have to belong to a Story?  Are some tasks just too small?  Are some tasks too obvious?  Obviously some task are too larger, but when should it be decomposed?  How will we know a task is too large?

I answer these questions with a question.  What about a task board motivates us to get work done?  The answer is: T.A.S.K.S. to DONE!

Inherent in the acronym TASKS is the point of all tasks, to get to done.  That is the measure of if the task is the right size.  Does it motivate us to get the work done?  (see notes on Dan Pink's book: Drive - The surprising Truth about what motivates us) If we are forgetting to do some class of task then putting it on the board will help us remember.  If we think some small task is being done by someone else, then putting it on the board will validate that someone else is actually doing it.  If a task is obvious, then putting it on the board will take vi…

A T-Shaped 21st Century Knowledge Worker

Knowledge workers in the 21st Century must have many areas of deep knowledge, while also be capable of collaboration across multiple other domains with dissimilar T-shaped individuals.  This description of a person is a metaphor.  Compare it to the shape of the "I" in the classic saying there is no "I" in Team.

I first read about Scott Ambler's term "Generalizing Specialist" - but it's so hard to remember the proper order of the words... get it backwards and it has an inverted meaning... T-Shaped is easier to remember. 
A generalizing specialist is someone who:
Has one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...). Has at least a general knowledge of software development. Has at least a general knowledge of the business domain in which they work. Actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.  General…

David's notes on "Drive"

- "The Surprising Truth about what Motivates Us" by Dan Pink.

Amazon book order
What I notice first and really like is the subtle implication in the shadow of the "i" in Drive is a person taking one step in a running motion.  This brings to mind the old saying - "there is no I in TEAM".  There is however a ME in TEAM, and there is an I in DRIVE.  And when one talks about motivating a team or an individual - it all starts with - what's in it for me.


Pink starts with an early experiment with monkeys on problem solving.  Seems the monkeys were much better problem solver's than the scientist thought they should be.  This 1949 experiment is explained as the early understanding of motivation.  At the time there were two main drivers of motivation:  biological & external influences.  Harry F. Harlow defines the third drive in a novel theory:  "The performance of the task provided intrinsic reward" (p 3).  This is Dan Pink's M…