Senior QA Manager
A quality professional with 2 masters degrees having almost 17 years of strong experience in Proj... more>>
He focused more on developer testing and building "Right the first time" concept. This is a ground reality. We all agree on this assumption that if developers could do Unit and Integration testing of their programs/ modules; we are very close to quality and we save rework. But third party independent verification and validation is inevitable!
As long as human perceptions are different and perceptions are based on the mind sets and mind sets are based on the roles played by software professionals in the software industry; testing will long live and can never be dead !
Agreeing fully that we need to build right the first time, which are reviewed and finalized the business requirements? With Agile mode in practice SRS is dead. User stories change very frequently. What we need to achieve is - right business requirements which are mapped to the user stories and are well chalked out, clear and not ambiguous.
I trust test leads should get involved in reviewing stories along with Business Analysts and Development leads. This is initial static testing. Developers perception is from implementation perspective using different technologies. Tester will have an eye on how he would test it; break it from end users perspective.
Design review is another static testing area which is rarely followed in the industry because of time constraint and we are agile (for convenience we drop design phase, no documentation and no process control... so how we comply to needed quality parameters? Another topic of discussion I suppose. BTW, I am great agile propagator and fan but with right controls built-in). At this stage the focus should be on scalability and performance of the code. Here QA leads can add value.
Testers write test cases when developers code. Developers review of test cases and Business Analyst can ensure better test coverage of testing user stories from business requirements perspective. Joint ownership of a user story by product owner, business analyst, developer and tester during iterations and continuous integration is a crux of all.
System testing, Regression testing cannot be done by the developers. Why?
Understanding big picture and full overview of the product by the testers is any day better than the developers because they have to write end to end work flow based test scenarios and test cases. Developers are more stressed up in code implementation.
Can we go ahead and deploy product without System and regression testing? Even if full regression is automated, who would write / update test automation scripts?
We have not touched on Performance, Load, Scalability, Security and Usability testing here. We are just focusing on basic System testing and Regression.
But with the rapid changes in the technologies and increased complexity of applications within Clouds, interfacing of applications with mobile devices and usage of virtualization that comes in testing. I have no doubt that testers will be playing a very strong role.
Can we have a mobile application tested by the developers on the different platforms like Android and Azure and iOS and many more with multiple versions and multiple devices in the market with different UI resolutions?
Can we have a Hybrid Cloud based application tested by developers which behaves differently in Public and Private Cloud and different on different PaaS?
Can we have a simulated virtual test environment created (Simulated ATM / POS devices) and applications tested on these virtualized devises and platforms for the different financial transactions for a BFSI product by the developers?
Developers need to focus on algorithms and logic and developing clean code.
As a QA person, I expect if they do their Unit and Integration testing very well thats good enough!
To refer to the Survey findings of Global Software Testing Services; market testing needs are going to be increased in next 2 years and "Managed Testing Services" providing companies would need more than 15000 testers in 2012-13.
Summing up, I would say delivering Quality Products can be achieved with right collaboration of the stakeholders (Business Analysts or Product owners, Developers, testers) in a positive spirit by encouraging having their different perceptions and mind sets for which they play the roles in SDLC / PDLC.
This collaboration shall help to bridge the gaps in understanding and interpreting business requirements differently by the different stakeholders.
This would clear the cloud of gray areas of requirements and convert them in black and white as needed.
This would enhance team building, encourage healthy competitive performance of team members and last but not the least would ensure that all the stakeholders in a team are equally important and not just the developers!!
The concept of "Third party independent testing" has been enrooted in the industry so well that we have more and more "Managed testing services" providing companies coming in the industry to handle these business avenues in our ODCs.
As long as human perceptions are different Testing cannot be dead. Long live testing!
Experts on QA
Sr QA Engineer
Sr Software Engineer