You are on page 1of 8

Testing is a process of executing a program with the intent of finding an error

1. Software Quality

Quality refers to the conformance to implicit or explicit requirements, expectations, and standards.

Software quality product is defined in term of its fitness of purpose. That is, a quality product does
precisely what the users want it to do. For software products, the fitness of use is generally
explained in terms of satisfaction of the requirements an in SRS document

McCall’s Quality Factors


McCall software quality model was introduced in 1977

Consist of main 3 part

1. Product Operation
2. Product Revision
3. Product Trasnistion

1. Product Operation :
It includes five software quality factors, which are related with the requirements that directly
affect the operation of the software such as operational performance.

• Correctness –
The extent to which a software meets its requirements specification.
• Efficiency –
The amount of hardware resources and code the software, needs to perform a
function.
• Integrity –
The extent to which the software can control an unauthorized person from the
accessing the data or software.
• Reliability –
The extent to which a software performs its intended functions without failure.
• Usability –
The extent of effort required to learn, operate and understand the functions of the
software.

Software Testing – Yadav sir


2. Product Revision :
It includes three software quality factors, which are required for testing and maintenance of
the software..

• Maintainability –
The effort required to detect and correct an error during maintenance phase.
• Flexibility –
The effort needed to improve an operational software program.
• Testability –
The effort required to verify a software to ensure that it meets the specified
requirements.

3. Product Transition :
It includes three software quality factors, that allows the software to adapt to the change of
environments in the new platform or technology from the previous.

• Portability –
The effort required to transfer a program from one platform to another.
• Re-usability –
The extent to which the program’s code can be reused in other applications.
• Interoperability –
The effort required to integrate two systems with one another.

2. ISO 9126 Quality Factors

ISO/IEC 9126 is an international standard proposed to make sure ‘quality of all software – intensive
products’ which includes system like safety-critical where in case of failure of of software

Functionality. The degree to which the software satisfies stated needs as indicated
by the following subattributes: suitability, accuracy, interoperability,
compliance, and security.

Reliability. The amount of time that the software is available for use as indicated
by the following subattributes: maturity, fault tolerance, recoverability.

Usability. The degree to which the software is easy to use as indicated by the
following subattributes: understandability, learnability, operability.

Efficiency. The degree to which the software makes optimal use of system
resources as indicated by the following subattributes: time behavior, resource
behavior.

Maintainability. The ease with which repair may be made to the software as
indicated by the following subattributes: analyzability, changeability, stability,

Software Testing – Yadav sir


testability.

Portability. The ease with which the software can be transposed from one
environment to another as indicated by the following subattributes: adaptability,
installability, conformance, replaceability

3. Cost of Quality

It is the cost incured to deliver qualtiy product to the client . This can be regarded as the

method of process improvement and

quality assurance and prevents internal as well as external audit failures.

there are four broad components, namely prevention costs, internal failure costs,

external failure costs, and appraisal costs.

1 – Prevention Costs
2 – Appraisal Costs
3 – Internal Failure
4 – External Failure

#1 – Prevention Costs

The prevention costs can be regarded as the costs that the business incurs to reduce and
minimize defects. The prevention costs are determined at the start of every new process step.
The prevention costs are highly regarded as it saves the organization labor costs and
manufacturing costs.

#2 – Appraisal Costs

This can be regarded as the costs that the business incurs when it works towards the
identification of defective items. It is done before any product has to be shipped to the
end consumer. The quality checks professional generally inspect finished goods, in the
process inventory and raw materials.

#3 – Internal Failure

Internal failure costs are termed as the cost that the business or corporate entity has to bear
once the defective items are identified before proceeding with the shipment before delivet to
customer . These costs signify the, manufacturing overhead, and direct labor consumed by
each defective item.

Software Testing – Yadav sir


#4 – External Failure

The external failure costs are costs that the business has to bear on account of defective items
that are shipped to the customers (after shipped). These costs are often regarded as
expensive as they would cause the business to incur high warranty and return costs along
with already incurred

4. Quality and Security

Security testing is one of the most important types of testing in which, security testers try to
cover all security-related aspects of the application including threats, risks in applications.

The main goal of security testing is to identify the security-related issues of application…

Security testing is a type of testing which aims at evaluating the integrity,

authentication, authorization, availability, confidentiality,

The goal of security testing is identify the threats (virus) in the system and measures its
potential unsecurity.

Security means that authorized access to protected data and unauthorized access is restricted.

For Example, it can be a loss of information, revenue, or the reputation of the organization. The
main focus of this testing is to keep your software away from any threats so that your system does
not get exploited

Qualtiy Control

Quality Control in Software Testing is a set of processes used to ensure the quality of software
products or services.

The main purpose of the quality control process is ensuring that the software product meets the
actual requirements by testing and reviewing its functional and non-functional requirements.

A Qualty controls aim is to identify and improve the defects

QC is a method to verify quality.

Testing team is responsible for QC.

Quality Assurance

Software Testing – Yadav sir


Quality assurance consists of the auditing and reporting functions of management
The goal of quality assurance is to provide management with the data necessary to
be informed about product quality,
Quality Assurance is known as QA and focuses on preventing defect (avoiding errors)

Quality Assurance is a proactive process and is Prevention in nature. It recognizes flaws in the
process. Quality Assurance has to complete before Quality Control.

QA is the technique of managing quality. QA means Planning for doing a process.

Software Reviews and its type


Reviews are used to verify documents such as requirements, system designs, code, test plans and
test cases.

A review is a examination of a document by one or more people with the main aim of finding and
removing errors early in the software development life cycle.

Reviews are used to verify documents such as requirements, system designs, code, test plans and
test cases.

1) Walkthrough

• In walkthrough, author guides the review team via the document to fulfil the common
understanding and collecting the feedback.
• Walkthrough is not a formal process.

2) Inspection

• The trained moderator guides the Inspection. It is most formal type of review.
• The reviewers are prepared and check the documents before the meeting.
• In Inspection, a separate preparation is achieved when the product is examined and defects
are found. These defects are documented in issue log.

Software Testing – Yadav sir


3) Technical Review

• Technical review is a discussion meeting that focuses on technical content of the document.
It is a less formal review.
• It is guided by a trained moderator or a technical expert.

• The goal is to evaluate the value of technical concept in the project environment.
• Build the consistency in the use and representation of the technical concepts.
• In early stages it ensures that the technical concepts are used correctly.
• Notify the participants regarding the technical content of the document.

A Technical review is a static white-box testing technique which is conducted to spot the defects
early in the life cycle that cannot be detected by black box testing techniques.

Software Reliability
Software Reliability means Operational reliability. It is described as the ability of a system or
component to perform its required functions under static conditions for a specific period.

There is no doubt that the reliability of a computer program is an important element


of its overall quality.

If a program repeatedly and frequently fails to perform, it matters


little whether other software quality factors are acceptable.
There is no doubt that the reliability of a computer program is an important element
of its overall quality. If a program repeatedly and frequently fails to perform, it matters
little whether other software quality factors are acceptable.

Software Reliability is an essential connect of software quality, composed with functionality,


usability, performance, serviceability, capability, etc
Measures of Reliability and Availability

Reliability Testing is a testing technique that relates to test the ability of a software to
function and given environmental conditions that helps in uncovering issues in the software
design and functionality
Software Safety : software should be safe to use doest not cuase any risk

Software safety is a software quality activity that focuses on the identification


and assessment of potential risk that may affect software negatively and
cause an entire system to fail.

If risk can be identified early in the software engineering


process, software design features can be specified that will either eliminate
or control potential hazards.

Software Testing – Yadav sir


Unit Testing
A unit test is a way of testing a unit - the smallest piece of code that can be logically isolated in a
system. In most programming languages, that is a function, a subroutine, a method or property. The
isolated part of the definition is important.

UNIT TESTING is a type of software testing where individual units or components of a software are
tested.

The purpose is to validate that each unit of the software code performs as expected.

Unit Testing is done during the development (coding phase) of an application by the developers.
Unit Tests isolate a section of code and verify its correctness. A unit may be an individual function,
method, procedure, module, or object.

If proper unit testing is done in early development, then it saves time and money in the end.

1. Unit tests help to fix bugs early in the development cycle and save costs.
2. It helps the developers to understand the testing code base and enables them to make
changes quickly
3. Good unit tests serve as project documentation
4. Unit tests help with code re-use. Migrate both your code and your tests to your new
project. Tweak the code until the tests run again.

Integration Testing
Integration testing is the process of testing the interface between two software units or module.

It’s focus on determining the correctness of the interface.

The purpose of the integration testing is to expose faults in the interaction between integrated units.

Once all the modules have been unit tested, integration testing is performed.

Integration test approaches

Top-Down Integration Testing –


In this integration testing, testing takes place from top to bottom. First high-level modules
are tested and then low-level modules and finally integrating the low-level modules to a high
level to ensure the system is working as intended.

Advantages:

• Separately debugged module.


• It is more stable and accurate at the aggregate level.

Disadvantages:

• Needs many Stubs.

Software Testing – Yadav sir


• Modules at lower level are tested inadequately.

Bottom-Up Integration Testing –


In bottom-up testing, each module at lower levels is tested with higher modules until all modules are
tested.

The primary purpose of this integration testing is, each subsystem is to test the interfaces among
various modules making up the subsystem. This integration testing uses test drivers to drive and
pass appropriate data to the lower level modules.

System Testing

System Testing is a type of testing that is performed on a complete integrated system to


evaluate the compliance of the system with the corresponding requirements.

In system testing, integration testing passed components are taken as input.

The goal of integration testing is to detect any irregularity between the units that are
integrated together.

System testing detects defects within both the integrated units and the whole system.

System testing tests the design and behavior of the system and also the expectations of the
customer.

System Testing is a black-box testing.

System Testing is performed after the integration testing and before the acceptance testing.

Types of System Testing:

• Performance Testing:
Performance Testing is a type of software testing that is carried out to test the
speed,
• Load Testing:
Load Testing is a type of software Testing which is carried out to determine the
behavior of a system or software product under extreme load.
• Stress Testing:
Stress Testing is a type of software testing performed to check the robustness

Software Testing – Yadav sir

You might also like