0% found this document useful (0 votes)
167 views8 pages

CS341 Assignment1 Ver1.0 DrVaniV

This document provides instructions for Assignment 1 of the course CS341 Software Quality Assurance and Testing. It outlines 5 questions to assess students' understanding of software testing techniques like boundary value analysis, equivalence partitioning, and logical path coverage. Students are asked to identify test cases using these techniques, test a sample program, document defects, and create automated test scripts for the program. The assignment is worth 20% of the course grade and has strict submission guidelines. Late submissions will lose marks, and plagiarism will result in a grade of zero for the assignment.

Uploaded by

NitSal Nand
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)
167 views8 pages

CS341 Assignment1 Ver1.0 DrVaniV

This document provides instructions for Assignment 1 of the course CS341 Software Quality Assurance and Testing. It outlines 5 questions to assess students' understanding of software testing techniques like boundary value analysis, equivalence partitioning, and logical path coverage. Students are asked to identify test cases using these techniques, test a sample program, document defects, and create automated test scripts for the program. The assignment is worth 20% of the course grade and has strict submission guidelines. Late submissions will lose marks, and plagiarism will result in a grade of zero for the assignment.

Uploaded by

NitSal Nand
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/ 8

The University of the South Pacific

School of Computing, Information and Mathematical Sciences

CS341: Software Quality Assurance and Testing


Assignment I Semester 2, 2020
Total Marks: 20%

Due Date: as shown on Moodle

This assignment covers both theoretical and practical aspect of this course. The marking rubric is based on IT project management, which
is in liaison with course outline and BSE program map. Rubrics have been taken from ACS-SCIMS rubrics V1.0. This assessment covers
the following course learning outcomes:
CLO 2: Appraise verification and validation techniques in the various phases of software development life cycles
CLO 3: Build test designs using equivalence partitioning, boundary value analysis and static transition techniques

Question 1: Identifying Test cases using Boundary value analysis and Equivalence partitioning [5 Marks]

Objective: To identify and document test cases for a given functionality, using Boundary value Analysis and Equivalence partitioning
technique.

Problem Description: Consider a method below whose functionality is described in comment lines. Identify and document the test cases
based on boundary value analysis and equivalence partitioning

/******************************************************************
* Method: computeInterestRate
* Description: Given the term of the deposit, computes and returns
* the interest rate. Both the parameters iNumberOfYears and

CS341 1 Dr. Vani Vasudevan


* iNumberOfMonths together form the term
*
* Criteria for Interest:
* Less than 3 months 1%
* 3 months to 5 months 3.5%
* 6 months to 11 months 4.5%
* 1 year to 1 year, 11 months 5.0%
* 2 years and above 5.5%
* PARAMETERS:
* int iNumberOfYears Number of years
* int iNumberOfMonths Number of months (if less than year).
* Can have values 1-11 only
*
* RETURNS: Appropriate Rate of Interest. -1.0 in case of error.
******************************************************************/

Public static float computeInterestRate (int iNumberOfYears, int iNumberOfMonths) {


...
...
}

CS341 2 Dr. Vani Vasudevan


Question 2: Identifying Test Cases using Logical Coverage [5 Marks]

Objective: To identify and document test cases using Logic coverage technique for the Bank Teller User Interface of Global Commerce
Bank given below.

Problem Description: Consider the User Interface given below.

The screen has three operations of a teller in it. They are:

• Deposit
• Withdraw
• Balance Enquiry
When the Teller selects the option “Balance Enquiry”, the Amount field should get disabled. In other cases (Deposit and Withdraw), the
amount field is enabled. Should accept amounts less than 10,000 USD only. Larger amounts result in a message “Unable to process.
Amount Limit crossed USD 10,000. Please contact the bank manager”

CS341 3 Dr. Vani Vasudevan


Question 3: Testing a program using the test cases and logging Test Results and Defects [5 Marks]

Objective: To test code using test cases documented in earlier questions and to log defects into the Defect Tracker

Problem Statement: Write a complete java program Rate.java to implement and invoke computeInterestRate method defined in
Question 1.

1. Program should compile with zero errors and zero warnings to run the identified and designed test in Unit Test Plan (UTP)
2. Use the UTP containing the test cases identified using Boundary value analysis and Equivalence partitioning. Execute test cases
one by one and compare if the expected result is the same as what is documented in the Test Plan.

If the expected result is the same, mark the test case as “PASSED” in the “Result” column.

If the expected result in the Test Plan is different from the result returned by the program:

• Mark the test case as “FAILED” in the “Results” column


• Add an entry into the Defect Tracking Excel sheet
• The description of the defect in the Defect Tracking Excel sheet should contain full details of the preconditions if any,
inputs, output, the expected output and any other information that will help a developer to debug and fix the defect.
3. Execute all the test cases. Mark the test result for all the tests.

Question 4: Testing a program using automated test scripts [5 Marks]

Objective: To test code (Rate.java) using automated test script (RateTest.java)

Note: Use Junit Framework

Problem Statement: Create and update the Test File according to the identified test cases using Junit framework. As a developer, fix the
defects in the code (if any) and re-run the test cases until it succeeds.

CS341 4 Dr. Vani Vasudevan


Question 5: Testing a project using automated test scripts [10 Marks]

Objective: To learn and use Junit framework, Java Code Coverage tool for a complete Java project published in GitHub repository

1. Consider the following GitHub link and download the files into your local machine to kick start your project:

https://github.com/vanivasudevan/Snake

2. The above link contains the source code which is forked from a main repository and used for your project.

3. Create a Netbeans project and add all the source files (.java) pertaining to this snake game.

4. Execute and check how the program works.

5. Identify the test cases and automate it using JUnit that would ensure 100% statement coverage for the critical modules which has if
/switch case / for statements

6. Invoke JCoCo (TikiOne) to reassure 100% statement coverage for the identified module

7. Create a new repository in your github (if the account is not there, then create one )

8. Push the generated test files and JCoCo report into the github and share that link through ReadMe file.

Unsatisfactory Satisfactory Good Marks % Marks


CBOK
(0%-49%) (50% - 75%) (76% - 100%) Allocated Attained
III. Completed some project VI. Use all project III. Use all project
monitoring tools/templates monitoring and controlling monitoring and
IT Project correctly, but others were tools/templates, but some controlling
30
Management missing are completed incorrectly tools/templates
correctly

Sub Total &


comments

CS341 5 Dr. Vani Vasudevan


Submission instructions
1. Submit 4 files upon completion of this individual assignment.
a. Java Project File as a Zip/Rar
b. Unit Test Plan workbook
c. Defect Tracker workbook
d. ReadMe.docx
2. The submission filename should read A1_Project_Sxxx.zip or A1_Project_Sxxx.rar where Sxxx, is student id. For example,
A1_Project_S11003232.zip. Similarly, A1_UTP.xlsx, A1_DTS.xlsx and A1_ReadMe.Txt. Incorrect submission will result in high
penalty.
3. ReadMe.docx file should contain the details of the chosen modules and the pushed link to your GitHub Repo.

Grading
1. This assignment is worth for 20 marks
2. Late delivery without prior notification and permission from the course coordinator will result in a loss of 10% of the marks per day.
3. Plagiarism/Cheating in any form are strictly prohibited. If found, complete Assignment 1 will be nullified.
Plagiarism
For all Assignments, it’s essential that you avoid plagiarism. Not only do you expose yourself to serious disciplinary consequences, but
also cheat yourself for not understanding and applying concepts emphasized in the assignment.
• It’s not plagiarism to discuss the assignment with your friends and consider solutions to the problems together. However, it is
plagiarism if you copy all or part of each other’s solutions.

CS341 6 Dr. Vani Vasudevan


Assessments mapping with CBOK

Assig 1

Assig2
CS341

Quiz1

Quiz2
MST
Core Body of Knowledge

Complex Computing
ICT Professional Ethics C ü ü
Knowledge ü ü
Professional expectations C
Teamwork concepts/issues M ü
Communication M ü
Societal Issues/Legal issues/Privacy M ü ü
Understanding the ICT profession
ICT Problem Solving: Abstraction C ü
Design C ü
Technology Resources Hardware and Software
Fundamentals
Data and Information Management
Networking
Technology Building Human Factors
Programming
Systems Development / Acquisition
ICT Management IT Governance and organisational
issues
IT Project management M ü ü
Service management
Security management

CS341 7 Dr. Vani Vasudevan


CS341: Assignment I Page 8 of 8 Dr.Vani Vasudevan

You might also like