Articles
What is Quality Assurance?

Quality assurance is the process of verifying or determining whether products or services meet or exceed customer expectations. Quality assurance is a process-driven approach with specific steps to help define and attain goals. This process considers design, development, production, and service.

The four quality assurance steps within the PDCA model stand for:

Plan: Establish objectives and processes required to deliver the desired results.

Do: Implement the process developed.

Check: Monitor and evaluate the implemented process by testing the results against the predetermined objectives

Act: Apply actions necessary for improvement if the results require changes.

Read more...
 
What is Quality Control?

Quality control is a process employed to ensure a certain level of quality in a product or service. It may include whatever actions a business deems necessary to provide for the control and verification of certain characteristics of a product or service. The basic goal of quality control is to ensure that the products, services, or processes provided meet specific requirements and are dependable, satisfactory, and fiscally sound.


Essentially, quality control involves the examination of a product, service, or process for certain minimum levels of quality. The goal of a quality control team is to identify products or services that do not meet a company’s specified standards of quality. If a problem is identified, the job of a quality control team or professional may involve stopping production temporarily. Depending on the particular service or product, as well as the type of problem identified, production or implementation may not cease entirely.

Read more...
 
Why do you need to test your software?

Testing is the most important way of assuring (or controlling) the quality of software. Good practices throughout the development process contribute to the quality of the final product, but only testing can demonstrate that quality has been achieved and identify the problems and the risks that remain.

This is not really the best state of affairs, as testing is by far the costliest method of finding bugs. The cost of a bug found using inspections, walkthroughs, reviews, modelling and proofs is much less than a bug found in testing. These techniques can be performed early, at intermediate stages of development, meaning that fixing a bug entails less rework, less re-checking, and less likelihood of introducing a new fault.

Testing, on the other hand, entails manufacturing test data and transactions, and running the software on something approaching the live hardware and network infrastructure. It also requires a (nearly) working piece of software, which is usually only available towards the end of a development stage (or development iteration in iterative processes). All this is expensive and time-consuming.

To fix a bug found during a test implies rework, which might go far back into the development cycle - possibly all the way back to the initial requirements. All that rework needs to be re-tested. The cost of fixing bugs increases exponentially at each stage of development. Rework and re-testing are time-consuming and expensive, and fixes are error-prone - studies have shown that each fix has a 50% chance of creating a new defect.

Despite the drawbacks and the available alternatives, software development still relies heavily on testing. Testing was probably the first activity used by programmers to flush out bugs in software before it is made live. It is the most intuitive step to take - write a program, then run it. The persuasive appeal of testing is that it has, at least within the abstract realm of software, relatively tangible results. At the end of a test, you have evidence of the software’s behaviour.

Read more...
 


Copyright © 2010. QA Experts.