0% found this document useful (0 votes)
6 views24 pages

Week 2

The document discusses the importance of developing quality products quickly in the global economy, emphasizing a proactive quality process that integrates customer requirements and continuous improvement. It outlines the causes of software errors, differentiates between validation and verification, and describes various testing stages including unit, integration, system, and acceptance testing. Additionally, it contrasts functional and structural testing techniques, highlighting their distinct approaches to assessing software quality.

Uploaded by

gondalzadaaa555
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views24 pages

Week 2

The document discusses the importance of developing quality products quickly in the global economy, emphasizing a proactive quality process that integrates customer requirements and continuous improvement. It outlines the causes of software errors, differentiates between validation and verification, and describes various testing stages including unit, integration, system, and acceptance testing. Additionally, it contrasts functional and structural testing techniques, highlighting their distinct approaches to assessing software quality.

Uploaded by

gondalzadaaa555
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

QUALITY REVOLUTION

Developing quality products on tighter schedules is critical for a company to be successful


in the new global economy. Traditionally, efforts to improve quality have centered around
the end of the product development cycle by emphasizing the detection and correction of
defects.

An effective quality process must focus on:


• Paying much attention to customer’s requirements
• Making efforts to continuously improve quality
• Integrating measurement processes with product design and development
• Pushing the quality concept down to the lowest level of the organization
• Developing a system-level perspective with an emphasis on methodology and process
• Eliminating waste through continuous improvement
Comparison of Software Testing and Quality Assurance and
Quality Control
A person makes an
Error
That creates a fault
in software
That can cause a
failure in
operation
Software Error vs. Human Error
Software errors are the cause of poor software quality.
A software error can be:
• Code error
• Procedure error
• Documentation error
• Software Data error
Causes of all these errors are humans (system analysts, programmers,
software testers, documentation experts, managers and sometimes clients and
their representatives)

Software errors may be caused by the development environment


(interpreters, automatic software generators, etc.,)

10
Causes of software errors
1. Faulty definition of requirements
2. Client-developer communication failures
3. Deliberate deviations from software requirements
4. Logical design errors
5. Coding errors
6. Non-compliance with documentation and coding
instructions
7. Shortcomings of the testing process
8. Procedure errors
9. Documentation errors

11
Difference between Validation and Verification
Testing Objectives

• To identify the basic mindset of a tester, regardless of what is being


tested

• To determine the correct motivations for testing in business

• To explain what differentiates software testers from software


developers
Skills for Software Tester

1
3
 Software Engineering Background

 Knowledge of Testing Tools

 Test Planning, test case


development and test scripts
execution skills
 Good Analytical Skills

 Good and confli


Communication
managem skills wor ct
ent k wit
developer to and proje h
s ct tea
members other m
The Testing Spectrum

Testing is involved in every stage of software life cycle, but the


testing done at each level of software development is different in
nature and has different objectives

Unit Testing
done at the lowest level.
tests the basic unit of software, which is the smallest testable
piece of software, and is often called “unit”, “module”, or
“component” interchangeably.

Integration Testing is performed


when two or more tested units are combined into a larger
structure.
The test is often done on both the interfaces between the
components and the larger structure being constructed, if its
quality property cannot be assessed from its components.
The Testing Spectrum

System Testing tends to affirm the


end-to-end quality of the entire system.
System test is often based on the functional/requirement specification of the system.
Non-functional quality attributes, such as reliability, security, and maintainability, are
also checked.

Acceptance Testing is done


when the completed system is handed over from the developers to the customers or
users.
The purpose of acceptance testing is rather to give confidence that the system is
working than to find errors.
Functional Technique and Structural Technique

Different techniques reveal different quality aspects of a software system, and


there are two major categories of testing techniques, functional and structural.

Functional Testing:
the software program or system under test is viewed as a “black box”.
The selection of test cases for functional testing is based on the requirement or
design specification of the software entity under test.
Functional testing emphasizes on the external behavior of the software entity.

Structural Testing:
the software entity is viewed as a “white box”.
The selection of test cases is based on the implementation of the software entity.
The goal of selecting such test cases is to cause the execution of specific spots in
the software entity, such as specific statements, program branches or paths.
The expected results are evaluated on a set of coverage criteria. Structural testing
emphasizes on the internal structure of the software entity.
References

Everett, Gerald D., and Raymond McLeod Jr. "Software Testing." Testing
Across the Entire (2007).

Luo, L. (2001). Software testing techniques. Institute for software


research international Carnegie mellon university Pittsburgh,
PA, 15232(1-19), 19.

You might also like