0% found this document useful (0 votes)
65 views14 pages

Final Stqa Miniproject 2-1

Mini Project STQA Final Year SPPU Computer Engineering Students

Uploaded by

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

Final Stqa Miniproject 2-1

Mini Project STQA Final Year SPPU Computer Engineering Students

Uploaded by

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

Indira College of Engineering and Management, Pune.

Mini Project
[SOFTWARE TESTING AND
QUALITY ASSURANCE]
Name of Program: Computer Engineering

Academic Year: 2023-2024


Semester: VII
Course: Software Testing and Quality
Assurance
Class BE 2

Course Code: 414457


Roll No Name PRN
24276 Vaibhav Yelmule 72201934D
DEPARTMENT OF COMPUTER ENGINEERING
INDIRA COLLEGE OF ENGINEERING & MANAGEMENT
PARANDWADI, PUNE

CERTIFICATE
This is to certify that the project report entitles

Submitted by

VAIBHAV YELMULE ROLL NO : 24276

is a bonafide student of this institute and the work has been carried out by him/her
under the supervision of Prof. Anita Patil and it is approved for the
partial fulfillment of the requirement of Savitribai Phule Pune University, for the award of
the degree of Bachelor of Engineering (Computer Engineering).

Prof. Anita Patil Dr. Soumitra Das


Guide Head,
Department of Computer Engineering Department of Computer Engineering

Dr. Sunil Ingole


Director,
Indira College of Engineering & Management, Pune
Place : Pune Date :
Acknowledgement

We would like to extend our sincere appreciation and indebtedness to the teacher of the Computer
Department Prof. Anita Patil for providing the technical, informative support, valuable guidance and
constant inspiration and encouragement as a project guide which has brought this stage one project report
in this form.
We would also like to express our gratitude to Prof. Dr. Soumitra Das. for his constant source of
encouragement and friendly guidance throughout the project work And at the end we would like to express
our gratitude to all staff member who have directly or indirectly contributed in their own way and all my
friends Computer Department for their suggestions and constructive criticism.

NAME OF THE STUDENTS

Vaibhav Yelmule
Table of Contents

1. Introduction
2. Steps
3. Selenium Testing
4. Regular Expression
5. Sample Program
6. Screenshots
7. Test Results
8. Used Tools
9. Conclusion
Title

Create a small application by selecting relevant system environment / platform and


programming languages. Narrate concise Test Plan consisting features to be tested and
bug taxonomy. Prepare Test Cases inclusive of Test Procedures for identified Test
Scenarios. Perform selective Black-box and White-box testing covering Unit and
Integration test by using suitable Testing tools. Prepare Test Reports based on Test
Pass/Fail Criteria and judge the acceptance of application developed.

Problem Definition:
Perform Desktop Application testing using Automation Tool like JUnit generate Test
Report.

Hardware Requirements:
2GB RAM, 500GB HDD, Laptop, etc.

Software Requirement:
VS Code IDE, Windows OS
Learning Objectives:
We are going to learn how to Prepare Test Cases inclusive of Test Procedures for
identified Test Scenarios. Perform selective Black-box and White-box testing covering
Unit and Integration test by using suitable Testing tools. also Prepare Test Reports based
on Test Pass/Fail Criteria.

Outcomes:
After completion of this project, we are able to understand Unit and Integration testing
with Tool with Test Report.

Theory
What is Unit Testing?
Unit testing is a software testing technique that focuses on verifying the correctness of
individual units or components of a software application. A unit in this context is the
smallest testable part of the software, typically a single function, method, or procedure.
The primary goal of unit testing is to ensure that each unit of code works as intended
and produces the expected output for a given set of inputs.
Unit testing is a fundamental practice in modern software development, particularly in
agile and test-driven development (TDD) methodologies. It helps identify and fix
defects early in the development process, leading to higher code quality, improved
maintainability, and faster development cycles. By ensuring that individual components
work correctly, it contributes to the overall reliability of the software system.

Unit Testing Tools:


Unit testing tools are software applications or libraries designed to assist developers in
creating, running, and managing unit tests for their code. These tools help automate the
process of writing and executing tests, making it more efficient and reliable. Many of
these tools also provide support for features like test automation, test runners, mocking
frameworks, and code coverage analysis. Here are some popular unit testing tools for
different programming languages:
• JUnit: JUnit is one of the most widely used unit testing frameworks for Java. It
provides annotations and assertions to write and run tests effectively.

• unittest: Python's built-in unittest library is inspired by JUnit and provides a


framework for organizing and running tests.

• pytest: Pytest is a popular and user-friendly testing framework for Python that
simplifies test writing and provides rich reporting.

• NUnit: NUnit is a widely used unit testing framework for .NET and C#. It offers a
range of features for writing and running tests.

• xUnit.net: xUnit.net is an open-source testing framework that focuses on simplicity,


extensibility, and flexibility.

• Mocha: Mocha is a versatile testing framework for JavaScript, commonly used with
Node.js and web applications.

• Jest: Developed by Facebook, Jest is a comprehensive testing framework for


JavaScript, particularly well-suited for React applications.

• RSpec: RSpec is a popular behavior-driven development (BDD) framework for


Ruby that enables expressive and readable tests.
• MiniTest: MiniTest is a built-in testing framework for Ruby, providing a simple and
lightweight testing solution.

Extreme Programming & Unit Testing:


Unit testing in Extreme Programming involves the extensive use of testing frameworks.
A unit test framework is used in order to create automated unit tests. Unit testing
frameworks are not unique to extreme programming, but they are essential to it. Below
we look at some of what extreme programming brings to the world of unit testing:
• Tests are written before the code
• Rely heavily on testing frameworks
• All classes in the applications are tested
• Quick and easy integration is made possible

Black-box Testing
Black-box testing focuses on testing the application's functionality without knowledge
of its internal code. The goal is to ensure that the application behaves correctly
according to its specifications. For this simple calculator application, black- box testing
might include:

- Functionality Testing:
Testing the core functionality of adding and deleting the products from cart.

- Usability Testing:
Evaluating the user interface for ease of use.

- Boundary Testing:
Checking how the application handles edge cases.
- Compatibility Testing:
Ensuring the application works on different browsers and devices.

- Tools for Black-box Testing:


Selenium WebDriver for automated browser testing.
TestCafe for cross-browser testing.
JUnit for Java applications (not applicable here).

White-box Testing
White-box testing involves examining the internal code and logic of the application.
The aim is to verify that the code functions as intended and to uncover any potential
issues. For this simple application, white-box testing might include:

- Unit Testing:
Testing individual functions or methods (e.g., functions for
addition/subtraction/multiplication/Division).

- Integration Testing:
Testing how different parts of the application work together.

- Tools for White-box Testing:


For JavaScript, frameworks like Jasmine, Mocha, or Jest for unit testing.

- For integration testing, tools like Super test can be used, but it may be overkill for
this simple.

Test Report:
Test case 1: Check whether the calculator can perform addition for two interfering numbers
(Sample addition)
Test case 2: Check validation for zero inputs.
Test case 3: Check whether the calculator uses the BODMAS technique.
Test case 4: Check whether on pressing two operators one after the other, the latest one will
override the previous operator.
Test Report:

- Test case 1: Check whether the calculator can perform addition for two interfering
numbers (Sample addition)
Test Result: Pass
Description: All operations performed successfully.

- Test case 2: Check validation for zero inputs.


Test Result: Pass
Description: Validations for no inputs.

- Test case 3: Check whether the calculator uses the BODMAS technique.
Test Result: Pass
Description: Application of BODMAS technique applied successfully.

- Test case 3: Check whether on pressing two operators one after the other, the latest
one will override the previous operator.
Test Result: Pass
Description: Overriding of operator applied successfully.

Summary:
The application has passed all test cases, and no critical or major defects were
identified. It meets the specified requirements and is ready for acceptance.
Acceptance Criteria:
The application is considered acceptable as it passed all test cases and demonstrated
consistent and correct behaviour across different browsers.

End of Test Report

Conclusion:

This conclusion summarizes the key findings from the testing process and provides a clear
assessment of the application's readiness for use. It also highlights the importance of ongoing
monitoring and maintenance in a production environment.

You might also like