0
4.9kviews
Explain McCalls quality factors

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

Marks: 10M

Year: Dec 2016

1 Answer
0
154views

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

1.Correctness

A software system is expected to meets the explicitly specified functional requirements and the implicitly expected non-functional requirements.

If a software system satisfies all the functional requirements, the system is said to be correct.

2.Reliability

Customers may still consider an incorrect system to be reliable if the failure rate is very small and it does not adversely affect their mission objectives.

Reliability is a customer perception, and an incorrect software can still be considered to be reliable.

3.Efficiency

Efficiency concerns to what extent a software system utilizes resources, such as computing power, memory, disk space, communication bandwidth, and energy.

A software system must utilize as little resources as possible to perform its functionalities.

4.Integrity

A system’s integrity refers to its ability to withstand attacks to its security.

In other words, integrity refers to the extent to which access to software or data by unauthorized persons or programs can be controlled.

5.Usability

A software is considered to be usable if human users find it easy to use.

Without a good user interface a software system may fizzle out even if it possesses many desired qualities.

6.Maintainability

Maintenance refers to the upkeep of products in response to deterioration of their components due to continuous use of the products.

Maintenance refers to how easily and inexpensively the maintenance tasks can be performed.

For software products, there are three categories of maintenance activities : corrective, adaptive and perfective maintenance.

7.Testability

Testability means the ability to verify requirements. At every stage of software development, it is necessary to consider the testability aspect of a product. To make a product testable, designers may have to instrument a design with functionalities not available to the customer.

8.Flexibility

Flexibility is reflected in the cost of modifying an operational system.

In order to measure the flexibility of a system, one has to find an answer to the question: How easily can one add a new feature to a system.

9.Portability

Portability of a software system refers to how easily it can be adapted to run in a different execution environment.

Portability gives customers an option to easily move from one execution environment to another to best utilize emerging technologies in furthering their business.

10.Reusability

Reusability means if a significant portion of one product can be reused, maybe with minor modifications, in another product.

Reusability saves the cost and time to develop and test the component being reused.

11.Interoperability

Interoperability means whether or not the output of one system is acceptable as input to another system, it is likely that the two systems run on different computers interconnected by a network.

An example of interoperability is the ability to roam from one cellular phone network in one country to another cellular network in another country.

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.

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.

Please log in to add an answer.