Subscribe by Email


Showing posts with label Quality factors. Show all posts
Showing posts with label Quality factors. Show all posts

Wednesday, January 11, 2012

What is software quality assurance and why it is important?

Software quality assurance or SQA as it commonly abbreviated to, can be defined as a standard means of the processes of software engineering and other methods that are used to ensure the quality of the software system or application products.

The methods used for software quality assurance are several in numbers and also they are varied. These methods may include the ensuring of the conformance to more than one model such as CMMI or standards such as ISO 9000.

Software quality assurance encompasses the whole process of the software development.The software development process includes many processes such as:

- Definition of requirements
- Designing of software
- Coding of software
- Control of source code
- Review of code
- Changing the management
- Configuration management
- Testing of the software system or application product and
- Integration of the software product.

Software quality assurance like any other process is complete with certain goals and objectives.
The goals of the software quality assurance process are well organized and have been listed below:
- Commitments
- Abilities
- Activities
- Measurements and
- Verification

The standard definition of software quality assurance can be stated as follows:

“Software quality assurance is that function of software quality that assures that the processes, procedures and standards are right or appropriate for the concerned project and are well implemented.”


This definition of the software quality assurance has been given by NASA. But, the problem with this definition is that this definition confuses with other similar definitions. The problems have been stated below:

- The definition tells us a little about what software quality assurance actually is. I mean to say that is used already defined terms “software” and “assure”.

- The definition doesn’t provide a scope for something or someone who can be said responsible for software quality assurance.

- The definition doesn’t even address the relationship and role of software quality assurance with the software testing.

- In the pure form of the definition in which a distinguishing “audit” style group has been established is difficult to be applied to a small environment regarding development.

As we all know well software testing is oriented towards the detection of the vulnerabilities of the software. It makes the quality of the software.

- Quality software is delivered on time and it’s within the budget, it’s free of bugs and errors.
- Quality software reasonably meets the specifications and requirements and it is quite maintainable.

Now coming to the quality assurance of the software, it makes sure that the software product is completed or developed based on the previously mentioned specifications and requirements by the client or the customers.

- It also ensures that the software has been developed according to the stated functionality and the standards and also without any defects and possible errors.

- The quality assurance factor monitors and tries to improve or raise the standards of the development process from the beginning of the software product development.

- It is basically known to be oriented towards the prevention of problems.

- Quality assurance is one such factor that is involved in the software development process right from the beginning.

- This helps a great deal to the development team to figure out the problems and accordingly set up the testing environment and configuration.

- Usually the actual testing starts when the test plan has been framed, reviewed and approved based on the specifications of the software design stated in the documentation.


Friday, August 12, 2011

What is software quality? What are McCall and ISO 9126 Quality factors?

To achieve a software of high quality is an ultimate goal. Software quality is assessed by internal and external quality criteria. External quality is critical to the user, while internal quality is meaningful to the developer only. Software quality is a mix of factors that vary across different applications and customers who request them.

McCall's Quality Factors
Software quality is affected by the factors that can be measured directly or indirectly. These include:
- During product operation, factors include correctness, reliability, usability, integrity and efficiency.
- During product transition, factors include portability, re-usability and inter-operability.
- During product revision, factors include maintainability, flexibility and test-ability.

ISO 9126 Quality Factors
This ISO was developed to identify quality attributes which includes:
- Functionality which includes the extent to which software is available for use indicated by sub attributes like suitability, accuracy, inter-operability, compliance and security.
- Reliability is amount of time software is available for use indicated by sub attributes like maturity, fault tolerance and recover-ability.
- Usability is the degree to which software is easy to use indicated by sub attributes like understand-ability, learn-ability and oper-ability.
- Efficiency is the extent to which software makes optimal use of resources indicated by sub attributes like time and resource behavior.
- Maintainability is an ease with which repair can be made to the software indicated by sub attributes like changeability, stability, testability.
- Portability is the ease with it can be transported from one environment to another indicated by sub attributes like adaptability, replace-ability.


Thursday, April 28, 2011

What is Software Process? What do you mean by software quality factors? What are different process models?

The factors that affect the quality of the software are called quality factors. The software product quality has three dimensions and each of the dimension deals with a set of quality factors.

PRODUCT OPERATION
- Correctness
- Reliability
- Efficiency
- Integrity
- Usability
PRODUCT TRANSITION
- Portability
- Re usability
- Interoperability
PRODUCT REVISION
- Maintainability
- Flexibility
- Testability

Software process is a set of activities, together with ordering constraints among them, such that if the activities are performed properly and in accordance with the ordering constraints, the desired result is produced.
Software process deals with the technical and management issues of software development.
The different process models are:
- Waterfall Model
The phases of the model are organized in a linear order.
- Prototyping
A throw away prototype is built instead of freezing the requirements before design or coding to help understand the requirements.
- Iterative
The software should be developed in increments with each functionality added to each increment.
- Spiral
Software development activities are organized like a spiral that has many cycles. The radial dimension represents the cumulative cost and the angular dimension represents the progress.


Facebook activity