Agile Offshore Development DevelopJET @ $2500/Month

Agile Offshore Product Testing BudgetQA @ $2000/Month

What we tweet...

Posting tweet...

Powered by Twitter Tools

Role of a Tester in an Agile Environment

Today’s trend in Software Development is racing towards achieving Targets, Quality and Customer Satisfaction within a limited time frame and Agile methodology is one of the strategy adopted for addressing these challenges. As customer satisfaction and ROI are linked to product quality and cost of quality, QA and testing services have a critical bearing on the success of any Agile project.

Let’s have a look at the life of a tester in an Agile environment .The testing agenda during each development phase is very crucial for a tester. The different phases include:

Project Initiation Phase

As a part of the project team the Test Manager is responsible for establishing the quality of process. So in the initiation phase, the test strategy of a tester will include and should be aware of the details of the Agile development process being used.

Development Phase

The testers, developers, business analysts and project stakeholders all contribute to kick-off meetings where the “user stories” are selected for the upcoming sprint. The testers create test scenarios which are presented to the business analysts and project stakeholders for their approval and signoff. These test scenarios are then broken down to test cases that offer adequate test coverage for the given functionality.

The developers then write code that will pass the tests. In this approach the development and testing take place continuously throughout the sprint – there is no separate testing phase.

Sprints in an Agile project can extend to multiple levels in a complex system. At the end of the Sprint the testing team’s goal is to have a release available with minimal defects and risks thereby ensuring that existing functionality has not been impacted by the introduction of new functionality in each iteration cycle.

Release Phase

The aim of any Agile project is to deliver a basic working product as quickly as possible and then to go through a process of continual improvement. Prior to release, a final acceptance test is performed before transitioning the application into production.

What a Agile tester should be armed with?

Agile projects present their own challenges to the testing team like unclear project scope, multiple iterations, minimal documentation, early and frequent testing needs. All these challenges demand special and diverse skills from the testing team to tackle it. Some of the essential skills for getting equipped are:

* Resource Management

Test resource is required to define the scenarios and test cases. Conduct manual testing alongside the developers, write automated regression tests and execute the automated regression packs. The availability of a pool of professional test resources offers the scope for effective resource management across the agile project life cycle.

* Communication

The benefits of independent testing will not be realized unless good communication exists between the testers, developers, business analysts and project stakeholders. Keep up the conversation using a combination of face-to-face conversation, meetings and workshops, phone calls, email and WebEx meetings. The iterative model of development and the frequency of releases mandate that all teams have a common understanding of the user requirements.

* Processes

Another key success factor for Agile Development is the implementation of quality governance processes such as configuration management. Testing teams should be aware of the best practices that are accredited with globally recognized certifications (e.g. TMMi, CMMi, ISO etc.).

* Requirements Elicitation

Product requirements in Agile projects are often captured in the form of user stories. The testers should be experienced and smart in analyzing and defining the testing requirements in the absence of any product documentation. The testers should also be equipped with alternative ways of deriving test requirements. Although the customers should lead the effort, they benefit from testers’ technical expertise and ability to imagine diverse scenarios.

Specialist testers from the Agile test team should possess these and many more skills which are attained through experience as testing professionals. To ensure accelerated delivery of working software which conforms to the desired quality, the testing team should be involved from the beginning of every iterative development cycle and not just after the first couple of sprints. Their own agility and flexibility is essentially the key to their success in the project.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • email
  • LinkedIn
  • MisterWong
  • MySpace
  • Propeller
  • Reddit
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter
 

Agile approach to Automation Testing

We can do the automation of the test cases by applying the agile values and principles.

Some tips to Automation for making it truly Agile

Simple Agile tools Usage

Use simple tools. Simple tools are easy to learn, easy to use, and very often easy to share with others. The tools should not be complex that it should take more time to learn the tool than the time to create the test cases. Index cards, Paper, Post –it notes, White boards are simple Agile tools that serve the purpose here.

Maintenance of the tool

Automation does not eliminate the manual efforts on the part of testers. Testers need to maintain automation scripts and verify the execution of automated scripts. Maintaining the automated test scripts takes a lot of time if they are not prepared well. The tester should divide the long test cases into the multiple smaller test cases and thus easily maintained.

Agile Testers’ joint effort

There should be a best practice sharing. Knowledge of one can help in solving the problems of other team members. Now, if the developers are also included in automating the test cases then consider it as a add on .This will solve and unleash many problems and can give new and efficient methods for resolving the problems.

Short Iterations

We are dividing the Agile project in to smaller modules and prioritize it according to the requirements. Each module has to be finished off within the time frame. This breaking up and iterations are helpful in using the right tools. For example for unit test cases we can use JUNIT tool and for functional test cases WATIR can be used.

Knowledge of Agile automation-tools

There are galore of options for automated Agile testing tools. Identify your requirements and select the tool that supports your need. The requirement for the tool may differ depending on the size of the project, time allocated for the project or the cost for the project. If the testers are not well versed in the usage of different types of tools get a person who is expert in all the different types.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • email
  • LinkedIn
  • MisterWong
  • MySpace
  • Propeller
  • Reddit
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter
 

UAT in an Agile Development Scenario

The user acceptance test (UAT) is the final stage of testing in application software development. To ensure the software would work well with your business environment and infrastructure we need to test it with user’s perspective, in a form that is proposed to be put in to.

The Testing Strategy and Approach in Agile Development could be very different from a traditional method like Waterfall. But Testing is an important stage, irrespective of which method we are following. In Agile methodology testing happens along the development and that too does by people who don’t have a tag of tester along with their names.

For example in certain Agile development teams Business Analysts could be doing a few rounds of testing each time the software version is released. In a way it is good as Business Analysts understand the Business Requirements of the Software and they can give a ride which is worth. And it is much greater when Agile developers themselves test the software. They tend to understand the system better and can verify the test results in a better way.

Test Coverage in an Agile model is ensured by having Automated Scripts and the right mix/combination of People executing the Test Cases. Each Time Code is changed and Regression Testing is done. Exploratory Testing may also be encouraged. Exploratory Tests are not pre-designed or pre-defined. The Tests are designed and executed immediately. Similarly ad hoc testing may also be encouraged. Ad-hoc testing is done based on the tester’s experience and skills. While automated Test Cases will ensure that the Test Cases scripted are executed as defined, the team may not have enough time to design and script all the test cases.

Testing for Agile Software Development requires innovative thinking and the right mix of people should be chosen for doing the testing. To ensure that delivered product meets the end user’s requirements it is important that sufficient testing is done and all scenarios are tested.
.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • email
  • LinkedIn
  • MisterWong
  • MySpace
  • Propeller
  • Reddit
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter
 

Contact Us Today

ITFlux Inc.
Ph: 510-792-8897
Fax: 408-877-1588
www.itflux.com

Development Center

ITFlux Technologies Pvt. Ltd.
Plot #54, Kumaranasan Nagar
Kochi - 20, India
Ph:(+91)-484-3101222