You are on page 1of 5

SOFTWARE ENGINEERING

LAB -10

NAME - Keshav Biyani


ENROLLMENT NUMBER - A20405220137
SEMESTER - 5
BATCH – B2

Objective 1: Discuss the importance and principles of software


testing in software engineering.
Software testing can be stated as the process of verifying and validating whether a software
or application is bug-free, meets the technical requirements as guided by its design and
development, and meets the user requirements effectively and efficiently by handling all the
exceptional and boundary cases. 
The process of software testing aims not only at finding faults in the existing software but
also at finding measures to improve the software in terms of efficiency, accuracy, and
usability. It mainly aims at measuring the specification, functionality, and performance of a
software program or application. 

1. Customer Satisfaction

Software testing helps in building the trust and satisfaction of the customer by
assuring a defect-free application.

2. Cost Effective

Software testing helps in saving the money of the developing organization by


detecting defects in the early stages of the software which becomes easy and
economical for the developer to redesign the module instead of detecting bugs after
the complete development of the software. 

3. Quality Product
The focus of software testing is to deliver a quality product to its clients which
results in a satisfied client. The quality of a product can only be maintained when it
is bug-free and meet all the user requirements. 

4. Low Failure
Failure of an application impacts its working and brand value. Software testing helps
in knowing the cases where a particular application is most likely to fail. 

5. Bug-Free Application

The main task of software testing is to identify bugs and inform them the concerned
developing team to fix. When a bug is fixed, testers recheck the bug to identify its
status.

6. Security

Thus, software testing is a must to maintain the security of an application.

7. Easy Recovery

Software testing helps in identifying the recovery rate of an application with the total
time it is using to recover. During testing, testers test an application to identify case
scenarios where any application is mostly likely to fail and how much time it is
taking to recover. 

8. Speed Up the Development Process

Software testing work parallels with the development team to make them know
where a defect is. Identifying bugs and fixing them in parallel to system
development enhances the development process of an application because the
development team need not wait for bug identification and fixing.

9. Early Defect Detection

Software testing is all about identifying defects. If the software testing team i.e.,
Quality Assurance team works parallel from the beginning of the software
development then it is easy for early defect detection and also helps the development
team to fix them. If testing starts after the complete development of the software,
then the developer needs to redesign all interrelated modules to fix the defect of a
particular module. 
10. Reliable Product

Software testing increases the reliability of an application by testing the application


with security testing, performance testing, and other testing techniques.

There are seven principles in software testing: 


 
1. Testing shows the presence of defects
2. Exhaustive testing is not possible
3. Early testing
4. Defect clustering
5. Pesticide paradox
6. Testing is context-dependent
7. Absence of errors fallacy

Testing shows the presence of defects: The goal of software testing is to make the
software fail. Software testing reduces the presence of defects. Software testing talks about
the presence of defects and doesn’t talk about the absence of defects. Software testing can
ensure that defects are present, but it cannot prove that software is defect-free. Even
multiple testing can never ensure that software is 100% bug-free. Testing can reduce the
number of defects but not remove all defects.

Exhaustive testing is not possible: It is the process of testing the functionality of the
software in all possible inputs (valid or invalid) and pre-conditions is known as exhaustive
testing. Exhaustive testing is impossible means the software can never test at every test
case. It can test only some test cases and assume that the software is correct, and it will
produce the correct output in every test case. If the software will test every test case, then it
will take more cost, effort, etc., which is impractical.

Early Testing: To find the defect in the software, early test activity shall be started. The
defect detected in the early phases of SDLC will be very less expensive. For better
performance of software, software testing will start at the initial phase i.e. testing will
perform at the requirement analysis phase.

Defect clustering: In a project, a small number of modules can contain most of the defects.
Pareto Principle to software testing state that 80% of software defect comes from 20% of
modules.

Pesticide paradox: Repeating the same test cases, again and again, will not find new bugs.
So, it is necessary to review the test cases and add or update test cases to find new bugs.

Testing is context-dependent: The testing approach depends on the context of the


software developed. Different types of software need to perform different types of testing.
For example, the testing of the e-commerce site is different from the testing of the Android
application.

Absence of errors fallacy: If a built software is 99% bug-free but it does not follow the
user requirement then it is unusable. It is not only necessary that software is 99% bug-free
but it is also mandatory to fulfil all the customer requirements.
Objective 2: Prepare a test case to demonstrate the purpose of
software testing in software engineering.

Test  Unit :  Hosteller Registration

Project name Hostel Management System

Module name Hosteller Registration

Created by Keshav Biyani


Date of creation 5-december-22

Purpose Purpose is to Make sure hosteller has


successfully Registered

Pre-condition Unique E-mail is required


Test- Steps to Test data Expected result Actual result status
id execute
T_01 Enter hosteller Username-Keshav Valid username Valid username pass
name
T_02 Enter phone_no Phone_no- Valid phone_no Valid phone_no pass
9166822650
T_03 Enter e-mail Keshavbiyani23@g Valid e-mail id Valid e-mail id pass
id mail.com
T_04 Enter password Keshav@23 Valid password Valid password pass

T_05 Enter DOB 23/02/02 Date of birth in format Date of birth in format pass
DD/MM/YY DD/MM/YY
T_06 Enter Father Name Umesh Kumar Valid username Valid username pass
Biyani
T_07 Enter Mother Name Mamta Biyani Valid username Valid username pass

T_08 Enter Address Salasar Bus Stand Valid Address Valid Address pass

Post Condition: Hosteller will go to the login page

Test  Unit :  Add Room


Project name Hostel Management System

Module name Add Room

Created by Keshav Biyani


Date of creation 5-december-22

Purpose Purpose is to Make sure hosteller has successfully


added a room .

Pre-condition Unique E-mail is required


Test-id Steps to Test data Expected result Actual result status
execute
T_01 If block is not Kindly select
blocks Kindly select blocks pass
selected select block blocks
T_02 If fees structure is
Kindly select fees Kindly select fees
not selected select Fees structure pass
structure structure
fee structure
T_03 If room No contains Room No should Room No should
Room No pass
other than digits contain digits contain digits
If No.of beds No.of beds feild
No.of beds feild  should
T_04. contains other than No.of beds should contain pass
contain digits
digits digits
If status is not Kindly select
T_05 status Kindly select status pass
selected status
Post Condition: Hosteller will go to the login page

You might also like