In current scenario maintaining a full fledge QA standard process is must for a product based environment. If a given QA standard is followed in a proper way, it will always leads to a well defined user oriented quality product. Maintaining a QAStandard Process in a Product Development Scenario is very crucial and important. A software process provides a framework for managing activities that can very easily get out of control. Only a good software process can leads to a good high quality software products. The best indicators of how well a software process has worked are the quality, timeliness, and long-term viability of the resulting software product.
The Two Principles included in QA are: "Fit for purpose", the product should be apt for the intended purpose; and "Right first time", mistakes should be eliminated as and when it occurs.
Processes for Maintaining QA Standards:
Waterfall Model:Designing a base system, Implementing to a system, Verification and Maintenance, just look like flowing steadily downward.
Initially, requirement review and Test Planning for a given product is done. Then Test Cases Designing is done using Test Cases review is performed. In this continuation all test execution functional, Usability, cross browser, Security testing is done to Log all bugs in each cycle. This is continued by the resolution of bugs accessed through a proper regression testing.
- Agile Test Framework: In agile framework the process is performed in a very close vicinity of both Developers and Testers. In fact QA plays an extensively vital role in development phase only. The development is done in a break up released cycle followed by a software testing process. Development is performed in smaller chunks before the release is done. The entire team takes the responsibility for maintaining the quality. The process involves just the right amount of documentation. The response must be very fast and quick. Offshore QA team always plays a very vital role in agile framework. Analysis of requirement and discuss on any queries related to any business flow and scope through mails/scrum call is done.
- Rapid Action Model: This model promotes strong collaborative atmosphere and dynamic gathering of requirements. It uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. Business owner actively participates in prototyping, writing test cases and performing unit testing.
4- V-Model: This Model was initially involved from waterfall Model. Every single phase must be completed before the next phase is started. This is not a linear process like waterfall, the process steps is bent upwards after the coding phase that gives a typical V shape. Testing is emphasized in this model more than in the waterfall model. It is a structured approach to testing. Brings high quality into the development of the products. Majorly this model initiates from Unit testing to Integration, system and acceptance testing. V Model restricts the fault multiplication that avoids the downward flow of defect. Automatically quality and reliability is improved and amount of Re-work is reduced. Validation and Verification at each level of stage containment that allows testers to be active in the project early in the project’s life cycle.
- Unit Testing: The most minimal level of Testing. A unit is equal to smallest software component that can be tested. It involved the Objects, methods and Procedures performed by Programmer. A tester can always help to ensure that the component is working according to the detailed design to build the specifications of a module. It is also called as component, module, or program testing.
- Integration Testing: Testing of more than one unit together to see if the function runs correctly. This focuses on interfaces or Communication between several units and is done using the integration test design prepared during the architectural design phase. It helps to assemble to increment a whole system just to ensure the correct ‘flow’ of data from the first to the last component. It is done by both developers and testers in collaboration. This is also known as Interface Testing or Assembly Testing.
- System testing: This is also known as the system as a whole or a Black-box type testing which is based on overall requirements specifications and covers all combined parts of a system. It ensures that the system must meet all functional as well as business requirements. It focuses and verifies the specifications. It validates the system that can be used in the intended purpose. The system test design is derived from the system design documents and is used in this particular phase. It may involve a number of specialized types to check performance, stress, documentation etc. Sometimes testing is automated using appropriate testing tools. It is done by an Independent testing group.
- Acceptance testing: It is used to determine whether the given system satisfies its acceptance criteria with business requirements or not. This is similar to system testing in which the whole system is checked, but then too important difference is the change in focus. It is always done by the real business users. It enables the customer to determine whether to accept the system or not. It is also called as Beta Testing, Application Testing or End User Testing. Customer should be able to perform any test based on their business processes.
Business Users Involvement:
All test cases must be approved from the Business Team. Test Plans must also be shared and approved from the Business Team. Bugs must be assigned to the business users who are directly related to the requirements or changes for closure. A thread may be opened to the business user for any requirement clarification which is not cleared by the Test Team. Testers can provide a weekly status to a Business Team to make sure that the requirements are being met and all pending issues can be discussed. Release notes must be Business Users centric. Before signing off every build approval should be from the Business Team. One common test environment should be arranged where test and Business team can test and build together on the same database. Any Change Requested must be converted to use test cases is approved from business team.
Bug Regression will be the main concerned throughout all given testing phases. All bugs that are resolved as “Fixed, Needs Re-Testing” will be regressed when testing team is notified of the new drop containing the fixes. The Test Lead will be responsible for tracking and reporting to development and product management the status of regression testing. Testing will be suspended on the affected software module when various levels of test case bugs are discovered. Testing will always be suspended if there is critical scope change that impacts the Critical Path. A bug report should be filed by Development team. After fixing the bug, Development team will follow the drop criteria to provide its latest drop for additional Testing. Adopters will always regress the bug and when it passes continue testing the module.
There is always a question arises what to review in a proper assigned manner to assure a given QA standard process is followed. There are many tools and techniques that are available to use. A proper bug free testing always requires a proper tester's creativity, experience and intuition, together with proper techniques. Testing is more than just debugging. Testing is not only used to locate defects and correct them. It is also used in validation, verification process, and reliability measurement. A good tester must always conduct a proper gap analysis to evaluate the project results and match the original objectives. He must review all delivered documents and ensure either that these have been delivered to an acceptable level of quality, or that an acceptable substitute is in place. If still gap is there, the given project goal must be achieved where error rates must be minimal. The necessary controls and systems in place must works properly. A proper established QA standard process not only assures a bug free well established software product within budget.
360logica Business Team!
360logica Business Team!