0
7.4kviews
Elaborate on SQA models in brief.

Mumbai University > Information Technology > Sem 8 > Software Testing and Quality Assurance

Marks: 5 Marks

Year: May 2016

1 Answer
0
85views
  1. Software Quality Assurance (SQA) is a set of activities for ensuring quality in software engineering processes (that ultimately result in quality in software products).

  2. The quality management system under which the software system is created is normally based on one or more of the following models/standards:

i. ISO

• “ISO 9000” is the commonly used name to label a series of international standards for quality assurance within organisations: ISO 9001, ISO 9002, ISO 9003, ISO 9004 (and their subsets).

• It is based on the following eight principles :

  1. Customer focus

  2. Leadership

  3. Involvement of People

  4. Process Approach

  5. System Approach to Management

  6. Continual Improvement

  7. Factual Approach to Decision Making

  8. Mutually beneficial to Supplier Relationship

• Advantages and disadvantages of ISO 9000 certification

o Advantages:

• future customers likely demand for ISO 9000;

• to increase consistency of operations;

• to maintain/improve market share;

• to improve service quality;

• customer pressure;

• a good promotional tool;

• to make operations more efficient;

• to improve product quality

o Disadvantages:

A number of important hurdles and problems in relation to ISO 9000 certification:

• the time required to write the manual

• the high volume of paperwork

• the high cost of implementation

• the time required to complete implementation

• the high cost of maintaining the standard

• the lack of free advice

• the lack of consistency between auditors

• the time spent checking paperwork

• prior to audits

• McCall’s quality model

McCall's quality model emphasizes characteristics visible to the users and considers internal qualities,here,one quality criterion can impact several quality factors.

McCall’s Quality Criteria:

A quality criteria is an attribute of a quality factor that is related to software development. For example, modularity is an attribute of the architecture of a software system.

Following is a list of McCall’s Quality Criteria:

  1. Access Audit: Ease with which the software and data can be checked for compliance with standards.

  2. Access Control : Provisions for control and protection of the software

  3. Accuracy: Precisions of computations and output.

  4. Completeness: Degree to which full implementation of required functionalities have been achieved.

  5. Communicativeness: Ease with which the inputs and outputs can be assimilated.

  6. Conciseness: Compactness of the source code, in terms of lines of code.

  7. Consistency: Use of uniform design and implementation techniques.

  8. Data commonality: Use of standard data representation.

  9. Error tolerance: Degree to which continuity of operation is ensured under adverse conditions.

  10. Execution efficiency: Run time efficiency of the software.

  11. Expandability: Degree to which storage requirements or software functions can be expanded.

  12. Hardware independence: Degree to which a software is dependent on the underlying hardware.

  13. Modularity: Provision of highly independent modules.

  14. Operability: Ease of operation of the software.

  15. Simplicity: Ease with which the software can be understood.

  16. Software efficiency: Run time storage requirements of the software.

  17. Traceability: Ability to link software components to requirements.

  18. Training: Ease with which new users can use the system.

McCall’s Quality factors:

A quality factor represents a behavioural characteristic of a system. Following are the list of quality factors:

  1. Correctness:

  2. Reliability

  3. Efficiency:

  4. Integrity:

  5. Usability :

  6. Maintainability:

  7. Testability:

  8. Flexibility:

  9. Portability

  10. Reusability

  11. Interoperability :

ISO 9126

The ISO 9126 Model just considers the product which emphasizes characteristics visible to the users, and one sub characteristic impacts exactly one quality characteristics.

• ISO 9126, defines six broad, independent categories of quality characteristics as follows :

1. Functionality :

• A set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs.

2. Reliability

• A set of attributes that bear on the capability of software to maintain its performance level under stated conditions for a stated period of time.

3. Usability:

• A set of attributes that bear on the effort needed for use and on the individual assessment of such use by a stated or implied set of users.

4. Efficiency:

• A set of attributes that bear on the relationship between the software’s performance and the amount of resource used under stated conditions.

5. Maintainability:

• A set of attributes that bear on the effort needed to make specified modifications (which may include corrections, improvements, or adaptions of software to environmental changes)

6. Portability:

• A set of attributes that bear on the ability of software to be transferred from one environment to another ( this includes the organizational, hardware or software environment)

• The ISO 9126 standard further decomposes the quality characteristics into more concrete sub characteristics as defined as follows :

  1. Suitability: The capability of the software to provide an adequate set of functions for specified tasks and user objectives.

  2. Accuracy: The capability of the software to provide the right or agreed-upon results or effects.

  3. Interoperability: The capability of the software to interact with one or more specified systems.

  4. Security: The capability of the software to prevent unintended access and resist deliberate attacks intended to gain unauthorized access to confidential information or to make unauthorized modifications to information or to the program so as to provide the attacker with some advantage or so as to deny service to legitimate users.

  5. Maturity: The capability of the software to avoid failure as a result of faults in the software.

  6. Fault Tolerance: The capability of the software to maintain a specified level of performance in case of software faults or of infringement of its specified interface.

  7. Recoverability: The capability of the software to re-establish its level of performance and recover the data directly affected in the case of a failure.

  8. Understandability: The capability of the software product to enable the user to understand whether the software is suitable, and how it can be used for particular tasks and conditions of use.

  9. Learnability: The capability of the software product to enable the user to learn its applications.

  10. Operability: The capability of the software product to enable the user to operate and control it.

  11. Attractiveness: The capability of the software product to be liked by the user.

  12. Time Behaviour: The capability of the software to provide appropriate response and processing times and throughput rates when performing its function under stated conditions.

  13. Resource Utilization: The capability of the software to use appropriate resources in an appropriate time when the software performs its function under stated conditions.

  14. Analysability: The capability of the software product to be diagnosed for deficiencies or causes of failures in the software or for the parts to be modified to be identified.

  15. Changeability: The capability of the software product to enable a specified modifications to be implemented.

  16. Stability: The capability of the software to minimize unexpected effects from modifications of the software.

  17. Testability: The capability of the software product to enable modified software to be validated.

  18. Adaptability: The capability of the software to be modified for different specified environments without applying actions or means other than those provided for this purpose for the software considered.

  19. Installability: The capability of the software to be installed in a specified environment.

  20. Coexistence: The capability of the software to coexist with other independent software in a common environment sharing common resources.

  21. Replaceability: The capability of the software to be used in place of other specified software in the environment of that software.

Please log in to add an answer.