0% found this document useful (0 votes)
4 views3 pages

Software Testing Project Outline

The document outlines a software testing project for a student information management application developed using the Waterfall SDLC model. It details system requirements, including a multi-layered architecture and CRUD functionalities, as well as specific tasks for testing the application using xUnit and various testing techniques. The project emphasizes the importance of creating a test plan, developing test suites for both white-box and black-box testing, and automating tests for specific methods.

Uploaded by

kalyannaicker18
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)
4 views3 pages

Software Testing Project Outline

The document outlines a software testing project for a student information management application developed using the Waterfall SDLC model. It details system requirements, including a multi-layered architecture and CRUD functionalities, as well as specific tasks for testing the application using xUnit and various testing techniques. The project emphasizes the importance of creating a test plan, developing test suites for both white-box and black-box testing, and automating tests for specific methods.

Uploaded by

kalyannaicker18
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

Subject: Software Testing

[SWT262]
Assessment: Project
Total: 100 Marks

PROJECT OUTLINE

Introduction
Software testing is a crucial phase in the software development process that involves evaluating a
software application to ensure its quality, functionality, and performance meet the desired standards.
The primary goal of software testing is to identify defects, errors, and vulnerabilities in the software
and ensure that it works as expected.

Requirements
BelgiumCampusPRG282 Software Dev company has been tasked with creating an application which
will be responsible for managing student information for the campus. The dev team utilized the
Waterfall SDLC model to develop a solution. Find attached the proposed solution from the dev team
in the attached Addendum.

System Requirements:
1) The end product must be a fully functioning Windows Based application which will capture details
of students and details of the modules that the students do and store in an SQL Relational
Database. In your project utilize a Multi Layered Architecture. The solution application must
comprise of the following 3-tiers:

a) Presentation Layer [Your Windows Forms GUI]


b) Business Logic Layer [CRUD functions that will be necessary to implement a persistent
storage application: Create, Read, Update and Delete]
c) Data Access Layer [[Link] and SQL Database]

2) The application has an initial menu for the Data Capturer who will use this application. The Data
Capturer should be presented with a Login Form which will require their Username and Password.
All Usernames and Passwords must be stored on a text file [in any format of your choosing]. The
login should be verified and authenticated when a Data Capturer attempts to login. If a Data
Capturer does not have a Username and Password, they should be able to register as a new user
and their login details stored on the text file. Make sure all necessary validations are done for the
Login Form.
3) Once the Data Capturer logs on the application, they should be presented with a Windows GUI to
perform all CRUD operations. Utilize [Link] to achieve this. All information MUST be stored on
a database using SQL Server.
4) When capturing student information, on Create, the application should capture the following
student information to the database:
▪ Student Number
▪ Student Name and Surname
▪ Student Image
▪ DOB
Subject: Software Testing
[SWT262]
Assessment: Project
Total: 100 Marks

▪ Gender
▪ Phone
▪ Address
▪ Module Codes

5) On Read, make sure student information can be displayed in a ListView or DataGridView. Update,
it must be possible to change student’s information. On Delete, it must be possible to delete
student’s information. The application must also have a Search functionality to search a particular
student’s information using the Student’s ID.
6) When capturing module information, on Create, the application should capture the following
module information to the database:
▪ Module Code
▪ Module Name
▪ Module Description
▪ Links to particular online resources (use YouTube videos that relate to each module)

7) The rest of the other CRUD operations must apply for displaying, updating, deleting and searching
for a module to and from the database.

Project Requirements
The task of your project is to test this solution from BelgiumCampusPRG282 Software Dev company.
Use the requirements above to assist you in testing. You are to utilize xUnit as the software
automation tool to conduct automated testing for this project. The project is broken down into the
following tasks:

Task 1: Subtotal: [20]


Identify areas in the software which you will perform software testing on. Create a Test Plan
as output for this task. Your test plan should detail all the test suites and test cases you will
attempt. Feel free to utilize a sample Test Plan document from the internet.

Task 2: Subtotal: [30]


Develop 3 test suites which cover the 3 White-box Testing techniques you learnt in class.
Each test suite should contain at least 3 Test Cases.
For each Test Case, you can perform a positive or a negative test. Utilize 3 tests for Statement
Coverage, Branch Coverage and Condition Coverage.

Task 3: Subtotal: [30]


Develop 3 test suites which cover the 3 Black-box Testing techniques you learnt in class. Each
test suite should contain at least 3 Test Cases.
For each Test Case, you can perform a positive or a negative test. Utilize 3 tests for Boundary
Value Analysis (BVA), 3 tests for Equivalence Partitioning and 3 tests for Decision Table
Testing.
Subject: Software Testing
[SWT262]
Assessment: Project
Total: 100 Marks

Task 4: Subtotal: [20]


Utilize xUnit to perform automation testing on the FileHandler class. Create 3 test cases to
test the following methods:

▪ AddPicture(string FilePath)
▪ CheckUser(string username, string password)
▪ AddUser(string username, string password, string confirmPass)

In the test method body, utilize [FACT], Arrange, Act, and Assert.

Additional Information
• This is a group project [6 members per group].
• Belgium Campus consist of software that can scan for plagiarism and a student caught doing
this will get 0 marks for this assignment.
• Late assignments will not be accepted; missing the deadline is an automatic 0.
• All work copied from AI tools like ChatGPT will not be marked.

Common questions

Powered by AI

It's important to have test cases for both positive and negative scenarios to ensure the software can handle expected inputs (positive) as well as unexpected or erroneous inputs (negative). This helps in validating that the system performs correctly under normal conditions and robustly refuses incorrect operations, providing reliability and robustness in real-world use .

The Waterfall SDLC model impacts the testing strategy as it follows a linear and sequential approach, meaning each phase must be completed before the next begins. This can affect the testing strategy by concentrating testing activities toward the end of the development cycle. It necessitates thorough planning and understanding of requirements, as changes are difficult once a phase is completed, and errors discovered in later stages can be costly .

Using xUnit in automation testing is significant as it provides a framework that supports test-driven development, allowing for more efficient and structured testing processes. It helps automate test cases for the FileHandler class's methods, ensuring that tests for functionality like user and picture management are reliable and can be repeatedly executed to validate code changes without manual intervention .

CRUD operations integrate with ADO.Net by allowing the application to execute SQL commands to Create, Read, Update, and Delete student information stored in an SQL Server database. Through ADO.Net, connections can be established to the database, commands can be prepared and executed, and results can be manipulated and displayed in the application's GUI, facilitating the overall data management process .

The primary objectives of software testing in this context are to evaluate the software application to ensure its quality, functionality, and performance meet the desired standards, and to identify defects, errors, and vulnerabilities to ensure that the software works as expected .

Boundary Value Analysis plays a role in identifying edge cases where errors are likely to occur around the boundaries of input ranges. An example of its application would be testing the 'Phone' field by inputting values around the expected number of digits, such as one digit less, the exact number, and one digit more, to ensure the system handles these variations correctly .

Storing user login credentials in a text file can lead to security risks such as unauthorized access and exposure of sensitive data. It can be addressed by encrypting the data before storage, ensuring the file has appropriate access controls, and implementing secure authentication practices. Additionally, using hashed passwords with salt can prevent attackers from easily gaining access to plaintext passwords .

In a multi-layered architecture, the presentation layer provides the user interface (Windows Forms GUI), allowing user interaction with the application. The business logic layer handles CRUD operations necessary to implement persistent storage, ensuring business rules and data processing are enforced. The data access layer uses ADO.Net to manage communication with the SQL database, executing SQL commands to interact with the actual stored data .

A test plan should include identifying areas of software for testing, detailing test suites and test cases, and must utilize White-box testing techniques like Statement Coverage, Branch Coverage, and Condition Coverage, as well as Black-box testing techniques such as Boundary Value Analysis, Equivalence Partitioning, and Decision Table Testing. It should also consider automation with xUnit, especially on specific methods in the FileHandler class .

The white-box testing techniques used in the test suites are Statement Coverage, Branch Coverage, and Condition Coverage. Statement Coverage ensures that every line of code is executed at least once. Branch Coverage verifies that every possible path (branch) through a program's control structure is executed. Condition Coverage assesses each condition in a decision to ensure all possible values are tested, aiming for overall code coverage and defect detection .

You might also like