0% found this document useful (0 votes)
80 views

Basic Concepts of Software Testing and Objective of Testing

The document provides an overview of unit 4 on software testing and automation testing. It discusses key concepts like the definition of software testing, objectives of testing, benefits of testing, types of errors, test cases, verification vs validation, quality assurance vs quality control, the test process including planning, analysis, design, implementation, execution, evaluation and reporting, test closure activities, and an introduction to automation testing. The unit is taught by Mrs. S.S. Sant and aims to describe basic concepts of software testing and its objective.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views

Basic Concepts of Software Testing and Objective of Testing

The document provides an overview of unit 4 on software testing and automation testing. It discusses key concepts like the definition of software testing, objectives of testing, benefits of testing, types of errors, test cases, verification vs validation, quality assurance vs quality control, the test process including planning, analysis, design, implementation, execution, evaluation and reporting, test closure activities, and an introduction to automation testing. The unit is taught by Mrs. S.S. Sant and aims to describe basic concepts of software testing and its objective.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

Unit 4: Basics of software Testing and

Automation Testing .

Lecture 1

Mrs. S. S. Sant
Lecturer in Computer Engineering
Government Polytechnic Pune

Software Testing
Course Outcome
• Apply various software testing methods.

Learning Outcome

• Describe basic Concepts of software Testing and


Objective of Testing.

Software Testing
Software Testing
Software testing
Definition:
The process or method of finding error/s in
a software application or program so that the application
functions according to the end user's requirement is
called software testing.

Software Testing
Software Testing
Software Testing
Objectives of Software testing
• Finding defects which may get created by the programmer while developing
the software.

• Gaining confidence in and providing information about the level of quality.

• To prevent defects.

• To make sure that the end result meets the business and user requirements.

• To ensure that it satisfies the SRS that is System Requirement Specifications.

• To gain the confidence of the customers by providing them a quality product.

Software Testing
Benefits of Software Testing
• Cost-Effective: Testing any IT project on time helps you to save your
money for the long term.

• Security: People are looking for trusted products. It helps in


removing risks and problems earlier.

• Product quality: It is an essential requirement of any software


product. Testing ensures a quality product is delivered to customers.

• Customer Satisfaction: The main aim of any product is to give


satisfaction to their customers.

Software Testing
Software Testing
Bug, Fault & Failure
• Error : An error is a human action that produces the incorrect result
that results in a fault.

• Bug : The presence of error at the time of execution of the software.

• Fault : State of software caused by an error.

• Failure : Deviation of the software from its expected result. It is an


event.

• A person makes an Error That creates a fault in software That can


cause a failure in operation

Software Testing
Software Testing
Test Case
• A test case is a document, which has a set of test data,
preconditions, expected results and post conditions, developed for
a particular test scenario in order to verify compliance against a
specific requirement.
• Typical Test Case Parameters:
• Test Case ID
• Test Scenario
• Test Case Description
• Test Steps
• Prerequisite
• Test Data
• Expected Result
• Test Parameters
• Actual Result
• Environment Information
• Comments

Software Testing
Test Case Template:

Software Testing
Sr. Sr.
When to Start Testing? When to Stop Testing?
No No
Availability of the test environment
supporting necessary hardware,
Coverage of the requirements and
1 software network configuration, 1
functionalities has been achieved.
settings and tools for the purpose of
test execution
Availability of proper and adequate
2 2 Completion of test case execution
data.

Testers are trained and necessary Completion of functional and code


3 3
resources are available. coverage to a certain point

Requirements should be clearly defined Bug rate falls below a certain level and
4 4
and approved. no high-priority bugs are identified

5 Presence of proper testable data. 5 Management decision

Test Design and Documentation plan is


6 6 Testing Deadlines
Ready.

Software Testing
Verification and Validation
Verification:
• Verification is a static analysis technique.
• Testing is done without executing the code.
• Examples – Reviews, Inspection, and walkthrough.

Validation:
• Validation is a dynamic analysis technique,
• where testing is done by executing the code.
• Examples - functional & non-functional testing techniques.

Software Testing
Quality Assurance and Quality Control

Software Testing
Software Testing
QA and QC
• Quality is meeting the requirement, expectation, and needs of
the customer is free from the defects.
• QA is focuses on preventing defect.
• QC is focuses on identifying a defect.

Software Testing
Test Process in Software Testing

Software Testing
1.Test Planning and Control
• Test Planning : Test planning involves
producing a document that describes an
overall approach and test objectives.
• It involves reviewing the test basis, identifying
the test conditions based on analysis of test
items, writing test cases and Designing the
test environment.
• Completion or exit criteria must be specified
so that we know when testing (at any stage) is
complete. Software Testing
Test Planning and Control
• Purpose
• To determine the scope and risks and identify the
objectives of testing.
• To determine the required test resources like people,
test environments etc.
• To schedule test analysis and design tasks, test
implementation, execution and evaluation.
• Control This is the activity of comparing actual
progress against the plan, and reporting the status,
including deviations from the plan. It involves taking
actions necessary to meet the mission and objectives
of the project. Software Testing
2) Analysis and Design
• Test analysis and Test Design has the following major
tasks:
• To review the test basis. The test basis is the
information on which test cases are based, such as
requirements, design specifications, product risk
analysis, architecture and interfaces
• To identify test conditions
• To design the tests
• To design the test environment set-up and identify
the required infrastructure and tools

Software Testing
3) Implementation and Execution
• Test execution involves actually running the specified
test on a computer system either manually or by
using an automated test tool. It is a Fundamental
Test Process in which actual work is done.

Software Testing
3) Implementation and Execution
• Test implementation has the following major task:
• To develop and prioritize test cases by using
techniques and create test data for those tests.
• To create test suites from the test cases for efficient
test execution. Test suite is a collection of test cases
that are used to test a software program
• To re-execute the tests that previously failed in order
to confirm a fix.
• To log the outcome of the test execution. A test log is
the status of the test case (pass/fail).
• To compare actual results with expected results.
Software Testing
4) Evaluating Exit criteria and Reporting
• Evaluating exit criteria is a process defining when to
stop testing. It depends on coverage of code,
functionality or risk. Basically it also depends
on business risk, cost and time and vary from project
to project. Exit criteria come into picture, when:
• Maximum test cases are executed with certain pass
percentage
• Bug rate falls below certain level
• When we achieve the deadlines

Software Testing
4) Evaluating Exit criteria and Reporting

• Evaluating exit criteria has the following major tasks:


• To assess if more test are needed or if the exit criteria
specified should be changed
• To write a test summary report for stakeholders

Software Testing
5) Test Closure activities
• Test closure activities are done when software is
ready to be delivered. The testing can be closed for
the other reasons also like:
• When a project is cancelled
• When some target is achieved
• When a maintenance release or update is done

Software Testing
5) Test Closure activities
• Test closure activities have the following major tasks:
• To check which planned deliverables are actually
delivered and to ensure that all incident reports have
been resolved
• To finalize and archive testware such as scripts, test
environments, etc. for later reuse
• To handover the testware to the maintenance
organization. They will give support to the software
• To evaluate how the testing went and learn lessons
for future releases and projects
Software Testing
Automation Testing
• Automated testing is a software testing technique
that automates the process of validating the
functionality of software and ensures it meets
requirements before being released into production.
With automated testing, an organization can run
specific software tests at a faster pace without
human testers.

Software Testing
Automation Testing
• Automation testing aims to improve
• Testing efficiency, accuracy, and speed by automating
repetitive and time-consuming manual testing tasks.
• Automation testing or test automation uses open
source or paid automated testing tools to test
software applications quickly and efficiently, and
• 24/7 without human intervention.

Software Testing
Automation Testing
• Automation testing aims to improve
• Testing efficiency, accuracy, and speed by automating
repetitive and time-consuming manual testing tasks.
• Automation testing or test automation uses open
source or paid automated testing tools to test
software applications quickly and efficiently, and
• 24/7 without human intervention.

Software Testing
Automation Testing
• without human intervention.

Software Testing
Automation Testing Advantages
• 1. Increase in test coverage: More scripts can be tested at the same time,
increasing test coverage. It helps save time and takes the load off of
manual testers. Automated software testing has the potential to enhance
software quality by expanding the range and thoroughness of tests. It
enables the execution of lengthy tests that are typically avoided in manual
testing, allowing them to run unattended. Moreover, it facilitates running
tests on multiple computers with diverse configurations.
• 2. Greater accuracy: Continuous testing increases the chances of errors
while done manually, but in automated testing, repetitive tests can be
performed with the same precision.
• 3. Cost saving: With automated testing, the test cases run at a faster
speed and bugs are identified early on in the development cycle and fixed.
Despite high initial costs, once the automated framework is set up, there
is an overall reduction in the costs.
Software Testing
Automation Testing
• 4. Reduces regression testing time: Automated regression
practiced with testing tools allows manual testers to be freed
from running monotonous regression tests. The testers get
time to perform value-add tasks.
• 5. Performs tasks that cannot be done by manual
testers: Certain tests such as the controlled web application
tests can be simulated with automated testing, but cannot be
performed by manual testers.
• 6. Time-saving: With automated testing, manual scripts are
also automated and regression testing time is reduced. As
tests are run 24/7, automated testing saves time. Automation
testing saves significant time by executing tests faster
compared to manual testing. Lengthy
Software Testing tests that may be time-
Automation Testing
• 7. Reusability of test scripts: In automated testing,
the same script can be used with minor changes.
Thus, the reusability of test scripts facilitates the
process of testing, and also, the same scripts can be
stored and reused for repeating the test when the
need arises.
• 8. Helpful to testers: Since tests can run
automatically when the source code changes and
notify the testers of any issue, it is very helpful to
both testers and developers.
• 9. Return on investment isTesting
Software high: Automation help

You might also like