0% found this document useful (0 votes)
33 views28 pages

STQA - Mini Project

BE Computer Engeeniring Sem-7 LP 4 Lab Practical Software Testing and Quality Assurance Mini project

Uploaded by

Pranav Sonar
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)
33 views28 pages

STQA - Mini Project

BE Computer Engeeniring Sem-7 LP 4 Lab Practical Software Testing and Quality Assurance Mini project

Uploaded by

Pranav Sonar
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/ 28

A PRELIMINARY REPORT ON

Software Testing and Quality Assurance Mini Project

SUBMITTED TO THE SAVITRIBAI PHULE PUNE UNIVERSITY, PUNE IN THE PARTIAL


FULFILLMENT OF THE REQUIREMENTS FOR THE ACADEMIC OF

FOURTH YEAR OF COMPUTER ENGINEERING

SUBMITTED BY

Pranav Sonar BBCO20106

DEPARTMENT OF COMPUTER ENGINEERING


DR. D.Y. PATIL INSTITUTE OF ENGINEERING, MANAGEMENT & RESEARCH

AKURDI, PUNE 411044

1|Page
SAVITRIBAI PHULE PUNE UNIVERSITY
AY 2023 -2024

CERTIFICATE

This is to certify that the Mini Project report of

Software Testing and Quality Assurance

Submitted by

Pranav Sonar BBCO20106

is a bonafied student of this institute and the work has been carried out by them under the supervision of M/r
Amol Dhakne and it is approved for the partial fulfillment of the requirement of Savitribai Phule Pune
University, for the award of the Fourth-year degree of Computer Engineering.

M/r.Amol Dhakne M/s. P. P. Shevatekar

Guide Head
Department of Computer Engineering Department of Computer Engineering

Place: Pune

Date:

2|Page
ABSTRACT

Unit Testing of software applications is done during the development (coding) of an application. The objective of
Unit Testing is to isolate a section of code and verify its correctness. In procedural programming a unit may be an
individual function or procedure. The goal of Unit Testing is to isolate each part of the program and show that the
individual parts are correct. Unit Testing is usually performed by the developer.

Bug taxonomies help in providing fast and effective feedback so that they can easily identify possible reasons for
failure of the software. Using bug taxonomy, a large number of potential bugs can be grouped into few categories.
Whenever a new bug is reported, using bug taxonomy, a tester can easily analyze and put that bug into any of these
categories. At the end of testing, Testers can understand the type of categories of bugs that frequently occurred and
thereby in successive rounds of testing he can focus on writing more test cases that would help to detect such bugs.
In addition, test leaders can guide their testers to focus on such frequently occurring bugs.

In integration Testing, individual software modules are integrated logically and tested as a group. A typical software
project consists of multiple software modules, coded by different programmers. integration Testing focuses on
checking data communication amongst these modules.

Keyword: Unit Testing, Integration Testing, Bug, Test Cases, Test Suite, Junit

3|Page
ACKNOWLEDGEMENT

First and foremost, I would like to thank my guide for this Mini Project, M/r. Amol Dhakne for the valuable
guidance and advice. She inspired us greatly to work in this seminar. Her willingness to motivate us contributed
tremendously to our work. I also would like to thank her for showing me some examples that related to the topic of
my Mini Project.

Apart from our efforts, the success of any seminar depends largely on the encouragement and guidelines of many
others. So, we take this opportunity to express my gratitude to M/s. P. P. Shevatekar, Head of the Department of
Computer Engineering, Dr. D Y Patil Institute of Engineering, Management and Research, Akurdi has been
instrumental in the successful completion of this seminar work.

The guidance and support received from all the members who contributed and who are contributing to this seminar
work were vital for the success of the seminar. I am grateful for their constant support and help.

Pranav Sonar

Student Name

(B.E. COMPUTER ENGG.)

4|Page
TABLE OF CONTENT

Sr No. Content Page No.

1 Introduction 6

1.1. Introduction 6

1.2. Problem Statement 7

1.3. Objectives 7

2 Methodology 8

3 Implementation 9-22

4 Conclusion 23

5|Page
CHAPTER 1: INTRODUCTION

1.1. INTRODUCTION

Sorting is a fundamental operation in computer science and plays a crucial role in numerous applications,
from data processing to information retrieval and beyond. Two commonly used sorting algorithms, Merge Sort and
Multithreaded Merge Sort, have garnered attention due to their efficiency and adaptability to varying data sizes. In
this context, this study aims to investigate and compare the performance of these two sorting algorithms while
considering best-case and worst-case scenarios.

Merge Sort is celebrated for its time complexity of O(n log n) and its reliability in achieving this efficiency
across a wide range of input data. It follows a divide-and-conquer approach, breaking down the sorting task into
smaller, more manageable subproblems and then merging the results to create a fully sorted list. This algorithm's
consistent performance has made it a preferred choice for sorting large datasets.

Multithreaded Merge Sort, on the other hand, builds upon the foundation of Merge Sort by harnessing the
power of multithreading. In a multi-core processor environment, this algorithm parallelizes the sorting process,
potentially leading to speed enhancements. However, the performance of Multithreaded Merge Sort can be influenced
by the context in which it is applied, particularly in scenarios where thread synchronization overhead becomes a
factor.

To gain a comprehensive understanding of the relative strengths and weaknesses of these sorting algorithms,
we conduct experiments that encompass both best-case and worst-case scenarios. In the best-case scenario, we
examine the performance when the input data is already sorted, while the worst-case scenario investigates the
challenges associated with sorting input data in reverse order. The outcomes of these experiments provide insights
into the practical applicability of these sorting methods under various conditions.

The findings from this study can help guide decisions when selecting sorting algorithms for specific use cases,
taking into account the trade-offs between algorithmic efficiency and performance optimization. Sorting is a critical
operation in many real-world applications, and understanding the nuances of these sorting algorithms in different
scenarios is essential for making informed choices in algorithm selection and implementation.

6|Page
1.2. PROBLEM STATEMENT

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

1.3. OBJECTIVE

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

7|Page
CHAPTER 3: METHODOLOGY

The methodology for this mini-project involves several key steps. First, we select a relevant system environment and
programming language, in this case, opting for Android as the platform and Java as the programming language. We
then define a test plan outlining objectives and testing phases.

Next, we develop a small application, such as a to-do list, and identify various test scenarios, creating detailed test
cases with test procedures for each scenario. Black-box testing is conducted to ensure the application functions
correctly from a user's perspective, while white-box testing explores the internal logic and code paths. Unit testing is
employed to verify individual components, and integration testing is carried out to examine interactions between
different parts of the application. Test reports are generated based on predefined pass/fail criteria for each test case.

Finally, the acceptance of the application is judged against these criteria, with further iterations of testing and
development being performed until all critical bugs are resolved and acceptance criteria are met, ensuring a robust
and reliable application.

8|Page
CHAPTER 3: IMPLEMANTATION

1. Download JDK 1.8 and Eclipse latest version here we are using eclipse-java-photon-R-win32.
2. Open Eclipse IDE

3. Go to File and Select New -> Create New Java Project

9|Page
4. Give Junit Test Project name to the project and check use project folder as root for source and class files

5. Click on Next-> Next Screen will Appear-> Click Finish

10 | P a g e
6. Next Screen Shown JunitTestProject Folder in Project Explorer

7. Right Click on Folder name JunitTestProject->New->Package

11 | P a g e
8. Name package as programming hub-> Click on Finish

9. See the Programming hub package see in project Explorer Screen of Eclipse

12 | P a g e
10. Right Click on Programminghub Package->New->Class give the name JunitClass->Click Finish.

11. Next screen will appear

13 | P a g e
12 Write a small program with only two functions Add and Multiplication

13. Write Test Cases for Java Program

14. Name test suite as Add Test and choose New Junit4 test

14 | P a g e
15. Click on add Checkbox

16. Click on Next-> Ok

17. Next screen will appear

15 | P a g e
18. Write a code for Test case addition of two number inside AddTest

19. Let us run AddTest test case. Right click AddTest-> Debug As->JUnit Test

16 | P a g e
20. Result of test case is as follows. It shows 0 error and 0 failure and green color test bar which means that
test case has run successfully( Green Color Bar Indicate)

21. Let us purposely give wrong input in assertEquals method or unexpected result here we write 501 instead of
500 indicate wrong addition result

17 | P a g e
22. Now test case should fail.(Brown Color Bar Indicate) So again run Add Test as follow

23. Similarly you can Create Test case for Multiplication Function
Click on Project Explorer Screen-> Right Click on JunitClass->New->JUnit Test Case-> Give name MulTest

18 | P a g e
24. Click on Next ->Select Mul Check Box -> Click Finish

25. Next Screen will appear

26. Write a Test Case Code inside MulTest method

19 | P a g e
27. Right Click on MulTest->Debug->JUnit Test

28. Execute Test

20 | P a g e
29. Click on Package name->New->Other->JUnit->JUnit Test Suite->Next

30. Click on Finsh

21 | P a g e
31. Next Screen Appear that automatically create Test Suite for Add and Mul

32. Execute Test Suite Right Click on All Test ->Debug->JUnit Test

33. Test Suite Executed successfully Test suite fails even if a single test case among all fails.

22 | P a g e
CHAPTER 4: CONLUSION

In this mini-project, we selected the Android platform, developed a small to-do list application using Java, and
conducted both black-box and white-box testing. Test cases were executed, and test reports were generated based on
pass/fail criteria.The acceptance of the application can be determined by comparing the test results against predefined
acceptance criteria. If all criteria are met, the application can be considered accepted.It's crucial to iterate through
testing and development until the acceptance criteria are met, and all critical bugs are fixed.

23 | P a g e
24 | P a g e
25 | P a g e
26 | P a g e
27 | P a g e
DYPIEMR, Department of Computer Engineering 2023-24

You might also like