Archive for the ‘Agile Testing’ Category

Agile and Testing: Some Myths Exposed

November 13, 2009 Leave a comment

Agile is a methodology that is seeing increasingly widespread adoption, and it is easy to understand why-especially if you consider the developer and user point of view.

Users: Don’t want to spend ages being quizzed in detail about the exact requirements and processes for the whole system, and then have to review a large specification, which they know could come back to haunt them.

Developers: Don’t want to have to follow a tight specification, without any expression of their own imagination and creative talents, especially if they can see a better way.

Yet for the QA professional an Agile approach can cause discomfort – In the ideal world they would have a ‘finished’ product to verify against a finished specification. To be asked to validate a moving target against a changing backdrop is counter intuitive. It means that the use of technology and automation are much more difficult, and it requires a new approach to testing, in the same way that it does for the users and the developers.

QA teams need to know the real impact of an Agile methodology, there are boundless myths circulating the industry.

Categories: Agile Testing

Agile Development Methodologies

September 20, 2009 Leave a comment

Agile Development Methodologies:

  • Extreme Pragramming (XP)
  • Crystal
  • Adaptive Software Development (ASD)
  • Scrum
  • Feature Driven Development (FDD)
  • Dynamic System Development Method (DSDM)
  • XBreed

Some of the well-known Agile Software Development methods:

-> Agile Modeling

-> Agile Unified Process (AUP)

-> Agile Data

-> Daily kickoff and review of goals

-> Short release cycles

-> Responsive Development

-> Test Driven Development (TDD)

-> Database refactoring

Categories: Agile Testing

What is Agile Testing?

September 20, 2009 Leave a comment

“Agile Testing”  – involves testing from customer perspective as early as possible, testing early and often as code becomes available and stable from module/unit level testing.”

1. Testing practice that follows the agile manifesto, treating development as the customer of 
     testing –   In this light the context-driven manifesto provides a set of principles for agile testing.

Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project. 

There are many agile development methods; most minimize risk by developing software in short amounts of time. Software developed during one unit of time is referred to as an iteration, which may last from one to four weeks. Each iteration is an entire software project: including planning, requirements analysis, design, coding, testing, and documentation. An iteration may not add enough functionality to warrant releasing the product to market but the goal is to have an available release (without bugs) at the end of each iteration. At the end of each iteration, the team re-evaluates project priorities.

Agile methods emphasize face-to-face communication over written documents. Most agile teams are located in a single open office sometimes referred to as a bullpen. At a minimum, this includes programmers and their “customers” (customers define the product; they may be product managers, business analysts, or the clients). The office may include testers, interaction designers, technical writers, and managers.

Agile methods also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods. This has resulted in criticism of agile methods as being undisciplined.

Categories: Agile Testing