The Essence of Agile Testing

agile-testing

Testing is an integral part of any development cycle. Initially, the entire process used to be step by step where after the codes were written by the programmer, the testing team would take over and a long back and forth cycle would begin. These days to shorten the development cycle new types of testing methodologies have been integrated. Agile testing is a methodology in which there is a continuous iteration of the development and testing throughout the software development cycle. As a result, both the coding and development go hand in hand with testing.

What is different with Agile testing?

With Agile, the buzz word is continuous. An agile testing company is into continuous development, continuous integration and continuous delivery while simultaneously doing a continuous delivery.  While this summarizes the entire concept of this kind of testing, it is important that we understand how it actually benefits a company. When many things happen at the same time, it helps speed up the process. Companies that have adopted agile testing services are able to deliver the product much faster. It is not just the speed that is of consequence here. Continuous integration and communication with the end user, developer and tester ensures that the product is as perfect as it could be. Earlier, companies would launch a product and after some time launch its newer version with more features and lesser bugs and continue to do so every few months till the product itself was phased out. With Agile testing, the companies are able to reduce the development cycles. This has in turn shown positive affects on the revenues.

Adopting Agile testing

When a company adopts Agile testing for its products, it is bringing about a change in the entire work culture. The teams which earlier worked as independent units and only passed on the product after it was finished up to a certain level now work as a cohesive whole. They have to implement strategies on every aspect of the work cycle. So right from how to approach requirement, architecture, design to coding and testing – all evolve to new heights. The teams now have to look at realistic time frames for delivery without getting trapped between the development and testing cycles. So the time schedules are adhered to. In fact, time is fixed before the scope is outlined. Quality and testing also are done on the basis of the new timelines. Instead of waiting for months to look at the product being developed, the next checkpoint is always round the corner for the team to evaluate. It is a win win process for all and therefore it is not a surprise that it is becoming popular.

Posted in Agile Testing | Tagged , , , , , , | Leave a comment

Are Your Agile Testing Teams Facing Challenges?

With Agile development becoming mainstream, we have noticed that more and more people are shifting from Waterfall to Agile development. Well, this paradigm shift introduces additional challenges with an impact to testing teams.

Are Your Agile Testing Teams Facing Challenges

  • Inadequate Test Coverage – With agile, there is always continuous integration &it is very easy to miss out on critical tests. This can be taken care of by linking the tests to user stories, so that there is a better test coverage. This also helps to analyze the specific metrics required to identify missing test coverage and the traceability. In fact, it may happen that a test has been missed simply because the code got changed which no one had anticipated.
  •  Code Broken Accidentally due to Frequent Builds – It often happens that as the code is changed and compiled daily, code might break for the existing features. The ideal way to deal with this situation is to run a series of tests against each build. Most of the times we need to depend on automated testing due to lack of resources asset becomes practically impossible to run these tests on a daily basis manually.
  •  Early Detection of Defects – It is better to fix the defects in the early development stage rather than trying to fix it later. Fixing bugs later in the SDLC is not only an expensive process but time consuming as well. So ask your test team to do frequent code reviews to spot issues early.
  •  Inadequate API Testing – Often it happens that the testers do not have adequate knowledge and skills to carry out the API Testing. In order to ensure that these tests are not missed, one can opt for tools that allow testers to test the API even when they don’t have strong coding skills.
  •  Performance Bottlenecks – In order to address performance issues, you need to identify the code that is affecting the performance& how it’s being impacted. Once the areas are detected, you need to use load testing tools that will track down the performance over a period of time.

Think Testing

We believe in sharing and learning from each other. Get Free E-books, Whitepapers, Articles and Newsletters.

Our “Think Testing” repository promotes Innovation and New ideas on how to Test Better. These resources include our extensive experiences and knowledge gained while working with customers, associates and industry peers.

Lessons learnt from real testing projects and solutions implemented provide an incredible knowledge source and enable “Think Testing”

Posted in Uncategorized | Leave a comment

The Dos and Don ‘ts of Testing Automation

casestudy-ver02-2page-final(17 sept)

If an organization calls itself agile, automation becomes the critical part in the organization’s software delivery pipeline. It’s pretty obvious that on automating testing, your release cycles get smaller. So, in that case, you might as well say “why can’t we just automate everything? There is a good reason to it: automation is not cheap.

First of all, one needs the correct tools. Second, you require qualified testers for whom training is required. Third, automation infrastructure requires time and effort and on development of tests on top of it. Development of automated tests comes under software development cycle itself. Tests are required to be designed, coded and authenticated before they can be put to use. But the largest effort comes just when you think that you are finished with the process.

Keeping up with upkeep:

untitled

Many automation projects have failed because of the stakeholder’s lack of knowledge for maintaining the automated tests. When the automation tests are not properly maintained, tests often fail and dashboards turn red. Eventually, the complete project goes irrelevant.

Choose which tests to automate

The ROI for automation tests depends on various factors. Some tests are hard to develop due to technology constraints. Like, testing frameworks might not support test cases which run across various devices or different browser sessions. Other tests might not require to be run often. Like, it might be cheaper to manually and occasionally test a use case for a feature that is used less often, rather than investing time for developing and maintaining an automated test that runs post each nightly build.

Don’t automate from first day

Every software project requires time prior its design and requirements stabilize. A very good comparison is between the UI which changes any time in lifecycle of an application and back-end services which can stay untouched for several generations.

Match the scenario of current testing

Many testers believe that they should follow the company processes, but they do not focus whether these processes are applicable to the current testing methods or not. This can lead to inappropriate software application testing.

Check for involvement of the right people

untitled1
It is mandatory to get involved the right people for the test automation. The right people are like the DevTester, the developer and the QA architect.

Know the requirements

If a tester fails to recognize the exact requirements, then he or she can never perform the application test perfectly. It is important to know the requirements with good listening skill and capability to understand the customers need.

Monolithic tests should be avoided if possible

The formulas of software development are just as applicable when writing tests. As you don’t want monolithic code with various interconnected parts, you will not want monolithic tests in which every step depends on various other steps. You need to break your flows into minute, manageable and standalone test cases. That way, if a test fails, it will not stop the complete test suite, and you can efficiently enhance your test coverage at every execution of your automation suite.

Conclusion:

In the end, automation testing is a simultaneous part of the advance life cycle, which can deliver major business importance to the clients and help in cost reduction, develop quality, and fast application operation. Actually, testing comprises nearly 20% of overall cost of software development, and outsourcing of testing service has grown extremely over the past 3-5 years.

Posted in Testing Automation | Tagged , , , | Leave a comment