Monday, July 19, 2010

Software Testing : What is Cost of Quality

Cost of Quality is a term used to quantify the total cost of prevention and appraisal, and costs associated with the production of software. While calculating the total costs associated with the development of a new application or system few sepecific components must be considered.

The Cost of Quality includes the additional costs associated with assuring that the product delivered meets the quality goals established for the product. This cost component is called the Cost of Quality and includes all costs associated with the prevention, identification, and correction of product defects.

THREE main categories of costs associated with producing quality products are:

1. Prevention Costs

Cost of preventing errors and to do the job right the first time. These normally require up-front costs for benefits that will be derived months or even years later. This is mostly money spent on establishing methods and procedures, training employees, acquiring tools, and planning for quality. Prevention money is all spent before the product is actually built.

2. Appraisal Costs

Money spent to review completed products against requirements. Appraisal includes the cost of inspections, testing, and reviews. This money is spent after the product is built but before it is shipped to the user or moved into production.

3. Failure Costs


All costs associated with defective products that have been delivered to the user or moved into production.
Some failure costs involve repairing products to make them meet requirements. Others are costs generated by failures such as the cost of operating faulty products, damage incurred by using them, and the costs associated with operating a Help Desk.

- The Cost of Quality will vary from one organization to the next.
- The majority of cost associated with the Cost of Quality are associated with the identification and correction of defects. To minimize production costs, the project team must focus on defect prevention.
- The goal is to optimize the production process to the extent that rework is eliminated and inspection is built into the production process.
- The IT quality assurance group must identify the costs within these three categories, quantify them, and then develop programs to minimize the totality of these three costs.
-Applying the concepts of continuous testing to the systems development process can reduce the cost of quality.

Sunday, July 18, 2010

Quality Control Vs Quality Assurance

There is often confusion in the IT industry regarding the difference between quality control and
quality assurance.

Quality methods can be seen in two categories:

1. Preventive methods
2. Detective methods

This distinction can be used to distinguish quality assurance activities from quality control.

This discussion explains the critical difference between control and assurance and how
to recognize a control practice from an assurance.

Quality has two working definitions:
1. Developer’s View – The quality of the product meets the requirements.
2. Customer’s View – The quality of the product is fit for use or meets the customer’s needs.

"Testing is a Quality Control Activity."

Quality Assurance

Quality assurance is a planned and systematic set of activities necessary to provide adequate confidence that products or services will conform to specified requirements and meet user needs.

Quality assurance is a group which is responsible for implementing the quality policy defined through the development and continuous improvement of software development processes.

Quality assurance is an activity that establishes and evaluates the processes that produce products.If there is no need for process then there is no role for quality assurance.

Quality Assurance takes care of:

1. System development methodologies
2. Estimation processes
3. System maintenance processes
4. Requirements definition processes
5. Testing processes and standards

Once established quality assurance would measure these processes to identify weaknesses and then
correct those weaknesses to continually improve the process.

Quality Control

Quality control is the process by which product quality is compared with applicable standards and
the action taken when non-conformance is detected. Quality control ensures that product conforms to standards and requirements.

Quality control activities focus on identifying defects in the actual products produced. These
activities begin at the start of the software development process with reviews of requirements and
continue until all application testing is complete.

It is possible to have quality control without quality assurance. For example, a test team may be in
place to conduct system testing at the end of development regardless of whether that system is
produced using a software development methodology.

The following statements help differentiate quality control from quality assurance:

- Quality control relates to a particular product or service.
- Quality control verifies whether specific attributes are included in a specific product or service.
- Quality control identifies defects for the primary purpose of correcting defects.
- Quality control is the responsibility of the team/worker.
- Quality control is concerned with a specific product.
- Quality assurance helps establish processes.
- Quality assurance sets up measurement programs to evaluate processes.
- Quality assurance identifies weaknesses in processes and improves them.
- Quality assurance is a management responsibility
- Quality assurance is concerned with all of the products that will ever be produced by a process.
- Quality assurance is sometimes called quality control over quality control because it evaluates whether quality control is working.
- Quality assurance personnel should not ever perform quality control unless it is to validate quality control.

Wednesday, July 14, 2010

What is Universal Description, Discovery, and Integration (UDDI)

Most common problem for many businesses is to identify best way to reach their customers and partners with appropriate information about thier services and products.
UDDI empowers by providing a standardised approach which allows copanies to advertise both businesses and technical aspects of their services.

Actually this is achieved by having an informational framework that describes and classifies the organizations, its services and technical details about various interfaces of web services.
This framework also proves discovery of interfaces and web-servicesof a particular type, classification or function. UDDI can considered as Yellow pages for web serives. Most of the registered UDDIs can be found at

http://uddi.ibm.com
http://uddi.microsoft.com

Tuesday, July 13, 2010

What is Web Services Description Language (WSDL)

WSDL is a document written in XML that describesfour critical peices of information:

1. Interface information for describing all publically available functions
2. Data-Type Information for all  message requests and responses.
3. Binding information about protocol used for transportation.
4. Address Information for locating appropriate service.


WSDL is a mechanism by which others know how to intercat with a particular service.
It gives the information about the place where service resides, what a service can do and how to invoke that particular web service.
WSDL is oftenly used in Combination with SOAP and XML to provide Web Service over Internet.
WSDL represents a cornerstone of web service architecture because it provides a common language for describing services and platform for automatically integrating all these services.


AN EXAMPLE OF WSDL looks like:

WSDL is a document written in XML that describesfour critical peices of information:
1. Interface information for describing all publically available functions2. Data-Type Information for all  message requests and responses.3. Binding information about protocol used for transportation.4. Address Information for locating appropriate service.WSDL is a mechanism by which others know how to intercat with a particular service.It gives the information about the place where service resides, what a service can do and how to invoke that particular web service.WSDL is oftenly used in Combination with SOAP and XML to provide Web Service over Internet.WSDL represents a cornerstone of web service architecture because it provides a common language for describing services and platform for automatically integrating all these services.

Monday, July 12, 2010

What is SOAP (Simple Object Access Protocol)

SOAP is a way to transport XML from one end point to another.

It supports a number of standard transport protocols which includes TCP, HTTP and SMTP. HTTP is most popular among all of these.


Basic idea of SOAP is to provide a mechanism by which an XML information can be wrapped in an envelop and which can be further carried by variety of transport mechanisms.

In a SOAP message, there are two main components:
- Header
- Body

As names signify, Header contains information abou actual SOAP message and body contains the actual message payload.

SOAP is a way to transport XML from one end point to another.It supports a number of standard transport protocols which includes TCP, HTTP and SMTP. HTTP is most popular among all of these.Basic idea of SOAP is to provide a mechanism by which an XML information can be wrapped in an envelop and which can be further carried by variety of transport mechanisms.In a SOAP message, there are two main components: Header, BodyAs names signify, Header contains information abou actual SOAP message and body contains the actual message payload.

Saturday, July 10, 2010

eXtensible Markup Language (XML)

XML is a language used for data description. It does it independently of applications, protocols, operating systems and pogramming languages used. Its similar to HTML, where we use different tag structures for data definition.

Inside XML Tags we define what data elements are there. In XML, there are no standard tags as we have in case of HTML. In XML, developer can define her own tags.
With common data providing methods, XML has become common format for elecrtonic data tranfer and Web Services which supports Business to Business Transactions.


Here is an example of an XML:

Friday, July 9, 2010

What are Web Services ???

Web Services are next level of Web applications. Web Services expose internal data and interfaces with other programs. These are similar to Application Programing Interfaces (APIs), a Web Application can use multiple web services and these can be shared between multiple Companies.

Self contained pieces of functionality that can be published, located and invoked on internet, Web Servuces can expose business functionality, services and data over web using automated interfaces.All such interfaces allow different organizatons to find functionality they require on runtime.


For basic pillars of Web Services are :


1) eXtensible Markup Language (XML)

2) Simple Object Access Protocal (SOAP)

3) Web Services Description Language (WSDL)

4) Universal Description, Discovery, and Integration (UDDI)