I am sure using the word QA would make you think of processes we go by standard definition. But you all would certainly agree that testing and QA are quiet interchangeably used. Working in Software services since start of my career and mostly with onsite and offshore model I have worked in both SDLC and typical third party QA practices where the SDLC is being conducted in a distributed framework (Requirement and Design is done by one company, Coding and Unit testing by another, QA by another and final support is done by some other company). 10 years back I felt a dearth need for an end to end test management tool which would reduce confusion and chaos during the QA\ Testing process. To fulfill this I feel Quality Center is a perfect tool. I have implemented and used Quality Center (earlier called Test Director) in various projects across different organizations.
HP Quality Center is basically a web based test management tool which if used and implemented correctly would help you right from specifying testing requirements, planning tests, executing tests, and tracking defects.
Quality Center can be installed on any application server like JBoss, IIS, Web logic or web sphere and the database can be Oracle or SQL Server. (Although about 9 years back I had used MS Access as the database for an evaluation version of non web based Test Director). The frontend just requires .net Framework 2.0 and a web browser.
Challenges which an organization faces while testing:
Imagine an excellent Testing group in an organization which has an elaborate test suite.
Now how would you determine the coverage of the test suite? That could be done using some requirement traceability by mapping the requirements to the actual test cases being written.
What would happen when some of the requirements change? You would again remap the requirements, create/ modify test cases and again update the requirement traceability matrix. This would eat up lot of time.
Consider a scenario in which the test team is in the last cycle of test execution and want to execute just the critical business flow test cases in order to make sure that the functionality works correctly before releasing the product. The QA Manager would have to go through the test set and would need to create a subset of the critical test cases. What if he misses some of the critical test cases? or What if he adds some extra test cases.?
This might increase the risk and in the other case might increase the time for test execution.
You are responsible for sending out reports everyday for number of test cases executed, test cases pending, defects open and defects closed. During ongoing testing these reports become obsolete every hour and you need to spend another few hours to get the latest report. Other than this if you are asked for getting a report on a historical test status say for example a report on the number of defects found for release 5.13.2 which happened in 2006, imagine how much time you will spend in getting the same and how accurate would it be?
As a QA Manager the test case creation, test case execution tasks needs to be prioritized and allocated among the team. Another check which the QA Manager does is to verify that the planned allocated tasks are actually being conducted. This kind of monitoring and control system eats up lot of time.
All these plus more are being answered by Quality Center.
Quality Center helps you keep all the requirements within the requirements tab by simply uploading the requirements. You create your test cases/ scripts in the test plan tab and would map then back to the requirements. This would automatically get you the requirement traceability for the coverage of test cases against the given set of requirements. Instead of writing test cases straight into Quality Center you can also export the test cases from your existing word or excel sheets and bring them into Quality center. The automated scripts from other applications within mercury suite (like QTP, Load runner) can also be exported into Quality Center. The test cases can be reviewed by peer or SME in Quality Center. And can be base lined.
During execution you drag and drop the test cases/ scripts which need to be executed into test lab. The test lab allows you to allocate the tester responsible for execution and specify the planned and start date of each of the test cases.
Once the execution starts and a particular step fail a defect can directly be logged against the failed test step. This defect resides in the defect tab which has an excellent defect workflow which can be customized based on the project or organization needs.
Email notification rules can be set within Quality Center to notify the affected people. For instance when the execution of test case or script finishes an email should be sent to the QA Manager, or when a defect is raised and assigned to a developer an email notification is sent to the assigned developer. Quality Center administration help to setup various role based access to different groups within the product team which enable the entire project team to collaborate in quality lifecycle.
Quality Center also helps to monitor the testing progress by creating various dashboards, reports and graphs on the fly and with ease of use these reporting tools within Quality Center can be used by senior management to get insight on the testing progress on a day to day basis and help them make better go live decisions.
With requirement, test and defect management combined into a single quality platform I certainly believe that Quality Center decreases the test management time and increases efficiency and better test management thereby bringing in better product quality.