Monday, January 18, 2016

Software testing and Software Quality Assurance

Software testing - is a process of verifying and validating if the software that is developed meets the desired objective. Though the Software testing process runs across the SDLC through unit tests by Dev teams, inspection and dynamic testing by test teams, it’s important to understand that testing alone will not bring in software quality. Software quality should be managed by top management through quality assurance across all the processes that are part of the software development system. Requirements gathering process, Design process, coding process, release process, testing process ....and more.

Large projects with multiple releases should have a documented Quality Assurance methodology on how the processes are going to be executed, how the processes are going to be measured for performance, how the processes will be controlled for variations, how the processes will be continuously improved and optimized for project objectives through increased cooperation and collaboration between processes. Software testing is yet another process in the software development system and testing alone will not improve software quality. Ensuring overall quality of the software project needs constant focus on process definition, assurance and control in order to improve the productivity, reduce waste and churn out a highly predictable, consistent and quality output.

Cost of poorly performing processes is very high. Why a software project spends 20-30% of the budget in testing? Need for software testing increases if there is poor requirements/design review process, poor coding standards, poor unit testing, poor architecture standards, no traceability followed between requirements to code, etc. A software supplier should study client's quality assurance approach, understand how their processes are going to cooperate and communicate with Client's processes and communicate how the processes will be controlled and improved for better process performance to the Clients. It could become a differentiator for the supplier against the competitor. Now we understand why the Dev cum testing projects by suppliers are more successful rather than a Dev only or test only projects because the opportunities for processes to be cooperative and collaborative is very high.

Software testing budgets are a price to non conformance. Software testing cost can be reduced, by only through conformance to a well managed process model.

No comments:

Post a Comment