May 6, 2008

Practical Implementation of the Concepts."What is ....?"

Practical implementation of the software testing and quality concepts is very different. Let us review this with the help of very basic questions. Next few session will be the question and answer sessions where we can get the actual meaning of the testing and quality concepts.

1. What is a test engineer?
==> Test Engineers are the one who are specialized in software testing. They create test cases, test procedure, test scripts, execute the test procedures and test scripts, generate the test data and test result, evaluate result of testing, system testing, integration testing as well as regression testing.

2. What is QA Engineer?
==> QA engineers are basically test engineers but they do more that testing. Good QA engineer analyze the entire software development process and how it fits into the business approach and goals of the organization. QA must carry good communication skills and must have ability to understand various sides of issues. Practically it is really important and useful if the QA department has some good experienced software developers who can help the development team to write good code.


3. What is the role of the software test engineer?
==> Software test engineer speed up the work of the development, and reduce the risk of the company's legel liability. They provide the evidence that the software is correct and operates properly. They maximize the value of the software as well as they look at the user satisfaction from the software. They should discover the bugs and design flaws of the software product. The continual improvement shall also be provided by them. They should also detect the bugs very much EARLIER in the software development process.

We will review the more concepts in the next blog.

April 3, 2007

Software Reviews

Aim of the software reviews is to purify the software engineering activities such as analysis, design & coding. The format technical review (FTR) is most effective filter from a quality assurance point of view. The primary objective of FTR is to find errors during the process so that they should not become defect after the release of the software.Early discovery of errors is what we meant by a FTR.

The early detection of error causes the impact of it very negligible. So after each and every phase of the software there needs to be a FTR.

Let us find out the objective of the FTR:
  • To uncover errors in function, logic or implementation for any representation of software.
  • To verify that the software under review meets its requirements.
  • To ensure that the software has been represented according to predefined standards.
  • To achieve software that is developed in a uniform manner.
  • To make projects more manageable.

It does includes walkthroughs, inspections, round-robin reviews and other small technical assessments of software. The key point to make a review meeting successful is that it should be properly planned, controlled and attended.


Next section will introduce you the guidelines of the FTR which needs to be followed.

March 20, 2007

SQA Activities

SQA activities.:


SQA is composed of variety of tasks associated with 2 different constituencies. - Software Engineers who do the technical work and SQA group that has responsibility for quality assurance planning, oversight, record keeping, analysis, and reporting.

Software engineers address quality by applying solid technical methods and measures. conducting Formal Technical reviews, and performing well-planned software testing. The SQA group is to assist the software team to achieve high-quality end product.

Activities performed by SQA group:
1. Prepare an SQA plan for a project.
SQA activities are governed by the plan.It identifies
1. evolutions to be performed.
2. audits and reviews
3. standards that are applicable to project.
4. procedure for error reporting and tracking.
5. documents to be produced by the SQA group.
6. amount of feedback provided to software team.

2. Participate in the development of the project's software process description.
SQA group reviews the process of project with respect to organizational policy, external standards maintained by the company.

3. Reviews software engineering activities to verify compliance with the defined software process. SQA groups is subjected to do this work.

4. Audits designated software work products to verify compliance with those defined as part of software process.

5. Ensures that deviations in software work and work products are documented and handled according to a documented procedure.

6. Records are noncompliance and reports to senior management.

These are the SQA activities.
In addition to these activities, the SQA group also co-ordinates the control and management of change and helps to collect and analyze software metrics.

March 13, 2007

Quality Concepts

A. QUALITY.

Let we first of all define what do you mean by Quality?
As per the Rick Hover:
Quality involves entire Software Development PROCESS - monitoring and improving process, making sure that any agreed-upon standards and procedures are followed., and ensuring that problems are found and dealt with.
It means that quality refers to measurable characteristics. The characteristics of a software includes properties of the program such as cyclomatic complexity, cohesion, number of function point, lines of code and all other. We will have a look at these measures afterwards.
These characteristics leads us to two different categories of the quality.

1. Quality of Design :
It refers to the characteristics that designer specify.for a software. It includes tolerance and performance specification of a software. It encompasses requirements, specification and design of the system.

2. Quality of Conformance :
It is degree to which design specifications are followed during implementation of the software. If the implementation follows design and resulting system meets requirements and performance goals then conformance of quality is high.


B. QUALITY CONTROL:

It involves a series of inspections, reviews, and tests used throughout the software process.
It includes a feedback loop. Combination of measurement and feedback allows us to tune the process It can be automated, entirely manual or combination of both.
A key concept of quality control is that all products have defined, measurable specifications to which we may compare the output of each process.


C. QUALITY ASSURANCE:

It consist of auditing and reporting functions of management. The goal is to provide management with the data necessary to be informed about product quality. The measure concern is that the data provided by management should not have any problems. It's responsibility of the management to provide a proper data.


D. COST OF QUALITY:

It is done to provide a baseline for current cost of quality, identify opportunity for reducing cost and provide a normalized basis of comparison.
The quality cost can be divided mainly into 3 parts
1. Prevention Cost : It includes
  • Quality Planning
  • Format Technical Reviews
  • Test Equipment
  • Training

2. Appraisal Costs: Example of appraisal cost is

  • in-process and interprocess inspection
  • eqipment calibration and maintainance
  • testing

3. Failure Cost: It can be subdivided into 2 parts.

a. Internal failure cost : occurs when we detect a defect in our product prior to shipment. It includes rework, repair etc.

b. External failure cost : occurs after product is delivered to customer. It can include product shipment, help line support and warranty work.