Introduction of Software Testing: Nguyen Thi Hue - Rookies Program For QC/AUTO

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Introduction of

Software
Testing

Nguyen Thi Hue – Rookies Program for QC/AUTO


Course objectives

After attending the course:

Understand basic testing knowledge,


Design good testcase

The importance of software testing

Understand fundamentals of
testing

Role and responsibility of testing in


software development
Lesson agenda

1 • Introduction of software testing

2 • The importance of Testing

3 • Fundamentals of Testing

4 • Roles and Responsibilities


Introduction of
software testing
1. Introduction

Software Testing is the process of identifying the correctness and quality of software program.

The purpose is to check whether the software satisfies the specific requirements, needs and expectations of
the customer.
2. Verification & Validation

Criteria Verification Validation

Definition The process of evaluating work-products (not the The process of evaluating software during or at the
actual final product) of a development phase to end of the development process to determine
determine whether they meet the specified whether it satisfies specified business requirements.
requirements for that phase.
Objective To ensure that the product meet their requirements To ensure that the product actually meets the user’s
and design specifications. needs

Question Are we building the product right? Are we building the right product?

Evaluation Plans, Requirement Specs, Design Specs, Code, The actual product/software.
Items Test Cases

Activities ● Static Reviews ● Testing


Sample
Importance of
software testing
1. Why testing is necessary

1 • To identify defects

• To reduce flaws in the


2 component or system

• Increase the overall


3 quality of the system
1. Why testing is necessary

Save
money

Benefit
Customer of Security
Satisfaction
Software
Testing

Product
quality
2. Testing’s contribution to the Success
Fundamentals of
Testing
1. Seven Testing Principles

What is principles?
The principle is rules/law which has to be followed for
developing the best system.
Seven Testing Principles
1. Testing shows the presence of defects

▪Reveal the presence of bugs

▪Can’t prove a system without defects

▪Apply techniques => reduce the probability of undiscovered defects


remaining in the software.
2. Exhaustive testing is impossible
3. Early Testing

▪ Start testing as soon as possible


in SDLC
▪ Define clearly testing phase’s
objective
4. Defect Clustering

• Pareto principle,
also known as the 80-20 rule
(80 per cent of the problems are
caused by 20 per cent of the modules)
• Invest more time to test that
particular area of the application
to find as many defects as possible
5. Pesticide paradox
6. Testing is context dependent

Testing is done differently in different contexts.


E.g.: safety-critical software is tested
differently from an e-commerce site
7. Absence of errors fallacy

Find and Fixing defects doesn’t not help if the system :


•Unusable
•Not meet users’ needs and expectations
Many low-defect products have failed in the market place
The purpose of these principles

Effectively design test strategies and test cases

Effectively utilize the time and effort to discover hidden effects of a testing.
2. Test process
The activities of testing can be divided into the following basic steps:
3. Test levels

✓ Test level are the different


stages of the software
development life cycle where
testing is conducted
✓ For every test level, suitable
test environment is required
4. Test Types

Functional
Testing

Change
related
Test Non-
functional
testing
Types Testing

Structural
testing
5. Test techniques

Testing Techniques is the method applied to


evaluate a system or a component with a purpose to
find if it satisfies the given requirements.

Testing of a system helps to identify gaps, errors, or


any kind of missing requirements differing from the
actual requirements.
Dynamic Testing vs Static Testing

Test
Technicques

Dynamic
Static Testing
testing

White-box Black-box
Review Static Analysis
Testing Testing

Functional
Testing

Non-functional
Testing
Roles and
Responsibilities
1. Software Testing Roles

Manual
Tester

Software
testing
Automation
roles Test
Tester Manager
Roles of Manual Tester

Creation of test designs, test processes, test cases and test data.

Participate in walkthroughs of testing procedures

Carry out testing as per the defined procedures.

Prepare all reports related to software testing carried out .

Ensure that all tested related work is carried out as per the defined standards and
procedures
Roles of Automation Tester

• Understand the requirement and design test procedures


and test cases for automated software testing.

• Design automated test scripts that are reusable.

• Ensure that all automated testing related activities are


carried out as per the standards defined by the company.
Roles of Test Manager

Since the test manager represents the team he is responsible for all interdepartmental meetings

Interaction with the customers whenever required.

Recruiting software testing staff

Schedule testing activities, create budget for testing and prepare test effort estimations.

Schedule testing activities, create budget for testing and prepare test effort estimations.

Carry out continuous test process improvement with the help of metrics.

Check the quality of requirements, how well they are defined

Trace test procedures with the help of test traceability matrix.


2. Key Responsibilities of Tester

Participate in review and analyze the project requirement to understand test objectives, provide
input on testability of requirements and estimation for the testing activities.

Collaborate with other Test Engineers to develop effective strategies and test plans.

Develop manual test cases and prioritize testing activities.

Execute all the manual test case and report defects, define severity and priority for each defect

Prepare the reports related to software testing carried out.

Ensure that all tested related work is carried out as per the defined standards and procedures.
Reference
Reference

1. https://www.istqb.org/downloads/send/51-ctfl2018/208-ctfl-2018-syllabus.html
2. https://www.softwaretestinggenius.com/ppts/ISTQBCH4.ppt
3. http://tryqa.com/istqb-dumps-download-mock-tests-and-sample-question-papers/
4. https://www.bullseye.com/statementCoverage.html#b3
5. https://www.istqb.guru/how-to-calculate-statement-branchdecision-and-path-coverage-for-istqb-
exam-purpose/
6. https://www.toolsqa.com/software-testing/istqb/why-is-testing-necessary/
7. https://www.test-institute.org/Software_Testing_Roles_And_Responsibilities.php
Thank you

You might also like