In one of my blog post, I detailed out the challenges that are often faced by the product/test owners during software product testing. In this one I will be talking about some methods or activities that can help in overcoming those challenges. I will leave it open for you to map the answers one on one to the challenges that I detailed out there.
Testing team is often involved very late in the PDLC. The product management team also collates frequently changing customer requirements and market expectations of a product, while also contributing to the product roadmap. As a result, the scope of the product changes constantly and testing becomes complicated with daily builds involved.
It is important to design the test strategy early along with the product roadmap so that everyone knows what all will be needed to test and what all methodologies will be applied during the process. This will enable the test owner to define the right budget for the testing cycle and get the necessary approvals on time.
There is a wide range of testing methods and testing techniques currently in use that serve multiple purposes in different life cycle phases. Team should choose the testing programs best suited to their needs.
Additionally, team must also focus on the cost element when identifying and evaluating testing tools available in the market. By picking Open Source tools, organizations can cut capital expenditure. At the same time, automated testing tools can also allow companies to undertake cheaper regression testing. Automation is again a debatable approach, might be I will share more thoughts on this in my upcoming posts.
It is also important to prioritize the test areas based on business criticality and test coverage. A test metric driven report also helps in getting the visibility into the exact team/product status from time to time. This enables management to take a decision regarding the market release of the product.
When examining the outsourcing option, companies must explore and clearly differentiate on what part of testing can be done onsite and what to outsource, while optimally using the collaboration tools. If there are questions of who is doing what, setup a transparent system in order to track each remote team member of the test team.
Currently I am busy designing a test solution that will act as a SINGLE solution to overcome all the challenges in software product testing space. It might be too early to talk about it or maybe you will need to wait for few more days before I start detailing about it in my blog posts.
Why did I chose to call it Software Test Engineering?
I am a testing professional who started my career as a test engineer 12 years ago. At that time I was being offered the job of a developer but I was not sure why, but I opted to go into QA and testing at that time. My recruiter was a bit surprised on my decision as development was a hot selling cake during late 90’s and no one wanted to opt to go to testing by choice. Actually, it was not the mistake of the individuals who were opting for development. It was a belief at that time that engineers who cannot do good development, often opted to go to testing. So, people who wanted to opt for a job in software industry all wanted to become a high profile programmer.
As per wiki “Software testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test“.
With time I developed passion towards testing and started finding better ways to do it, be it automation, defect prevention, white box or manual testing. During all these days I actually kept wondering why testing still is considered not so important; why people feel that development is important and testing can be done by anyone. Why developers are often thought as the people who innovate and provide better designs, but testers are only sniff dogs that just smell for the bugs that are introduced because of hard work put in by the development team.
It is a common misconception that testing is not an engineering task and it can be done by anyone who knows reading and writing. I think from one perspective it is true as well as the test engineers need not worry about any new ways to complete their tasks. Their targets are fixed and their performance is often measured based on the execution and bugs that they are reporting. Referring post by Michael Bolton, (http://www.developsense.com/2009/11/why-is-testing-taking-so-long-part-1.html) it describes various ways test engineers are often measured in any project team.
So where is the gap! I wanted to improve testing and get it better adopted in the overall software testing world? The answer was tough, but simple. Bring innovation in testing. Apply the concepts of engineering to bring improvement in testing and finally I planned to call it Software Test Engineering.
As per the definition that I published on WIKI today, software test engineering is the acquisition and application of technical, scientific and mathematical knowledge to design and implement testing best practices and processes that enable realization of software testing objectives desired in a given PDLC (http://en.wikipedia.org/wiki/Software_test_engineering)
I will write more on this topic in the coming days and bring in more clarity to the readers. Till then, just let me know what you feel about this. Good night from India…