Sei sulla pagina 1di 6

ITECH 7409: Software Testing

Assignment 2: Working in Agile Environment and Developing Detailed Test


Plans with a Test Management Tool
Due Date: Thursday, September 26, 2019 - 16:00
Weighting: 20%
Submission: via Moodle
Special Remark: The description of the assignment is the continuation of
Assignment-1. This assignment is a GROUP assessment, where one submission
is made per group and all individuals in the group receive the same grade. There
should be 2-3 students in each group.
Refer to Course Description, especially in regard to: Extensions, Special Consideration, Late
Submissions, and Plagiarism.

***Beware about the late penalty mentioned in the course description***

Purpose:
The purposes of the assignment:
 Practice and improve your team working skills
 Write professional level testing documentation
 Develop a good understanding of professional industry standards for software testing
 Practice an Agile Testing environment and use of Agile toolchains

Description:
Consider the following Class Diagrams of Figure 1. The class (called Repository) contains 3
types of data for multiple persons. The attributes are Name, Phone, and Address, and they are
grouped as Info. That is, the class Repository contains the array (Vector) of Info. The private
member variable of the Info class is a list in the Repository class. There are various public
methods to access and mutate the list variable of the class (Repository).

CRICOS Provider No: 00103D 1/6


Figure 1: Class Diagram of Repository and Info classes
Sample information stored in an object of the Repository class is shown in the following table:

Name Phone Address


Josh +61728382818 VA, USA
Kevin +16456712345 Hobart, Australia
Andy +61423456134 Sydney, Australia
John +16456712345 Melbourne, Australia
Adam +61341231231
Albert +61231212312 Canberra, Australia
Merry +61412098765
Andy +61728382811 VA, USA
Phillip +61428382819 Brisbane, Australia
John +61341231239 Brisbane, Australia

Here is the detailed description of the Repository class:


i) list: Vector <Into> - the list is a vector of Info class where info class contains three
private variables and 6 public functions. Since the scope of the assignment is
restricted to Repository class, the description of Info class’s methods is skipped here.
Please note that, a person will have one name with exactly one phone number and
address. The <Name, Phone Number> pair uniquely identifies a person. However,
a phone number can be used by multiple persons and multiple persons may have
the same address. A person must have a name and the phone number, but the
address field might be empty.

CRICOS Provider No: 00103D 2/6


ii) Add (Info): String – Adds the information about a person and returns the success
message (“Successfully Inserted”) when the insertion is successful. If the insert is
unsuccessful, it returns (“Error in Insertion”).

iii) EditInfo (String, String, String, String): String – Edits the information about a person.
The first and second string contains the Name and Phone Number, respectively, that
uniquely identifies a person. The third string is the attribute to change and the fourth
string is the modified value of that attribute. For example, if the function call is
EditInfo (“John”, “+16456712345”, “Address”, “NY, USA”), then it will replace the
address to “NY, USA” of the person whose name is “John” and the phone number is
“+16456712345”. The function call will return “Successfully Edited”, however, if no
such data is found, it will return “No Such Data Found”.

iv) Delete (String, String): String – This function will simply delete the entry from the
list. The name and the phone number are the arguments of the function. If the
information is deleted successful, it will return the string “Successfully Deleted”,
otherwise “Error in Deletion”.

v) Count(): Int – This function returns the number of persons on the list.

vi) Count(String, String): Int – This function returns the number of persons having a
common attribute. The first string indicates attribute to search and the second string
indicates the value of the attribute. For example, Count (“Name”, “John”) will return
2 as there are 2 persons with the name John in the current list.

vii) IsAvailable (String, String): Bool – Checks whether a particular attribute has a given
value. The first string contains the attribute and the second string contains the value
of the attribute.

viii) IsMultipleName(String): Bool – Checks whether a name is available multiple times in


the list. The string parameter contains the name of the person.

ix) Show (String, String): vector<Info> - Searches for a particular attribute. The first
string is the attribute and the second string is the value of the attribute. The
functions return a vector so that it may contain multiple records. For example, if the
call is Show(“Name”, “John”), it will return two records in the vector.

x) CountNoAddress(): Int – Returns the number of records that have no address.

Introduction:

CRICOS Provider No: 00103D 3/6


Consider that the above classes are already implemented and the unit testing is already done.
Now a different group of the developer is implementing a software based on the above-
implemented classes. The software will be deployed in a cloud service and will be accessible
for any number of users. In addition, the software is synced with your phonebook. The features
of the Software include:
1. The user will first create an account in the deployed site (say www.phonebook.com)
2. The user will be allowed to create multiple sheets in a phonebook and each sheet
can contain information about 10000 persons (The structure of information of a
person is discussed in Info Class).
3. In the phone set, user have to log in to that website [or a dedicated app using user’s
credential (username and password)]
4. After that, both the phonebook and the account in www.phonebook.com will always
remain synced. That is, whatever you add/edit in the phone book will be synced in
the website and vice versa.
5. A user can share a sheet with his/her friend using the friend’s email address and
that email address must be used to log on to the system (www.phonebook.com)
6. If a user (say A) provides a ‘write’ access to his/her friend (say B), then B will be
able to modify any contact information, otherwise, B can only see the information of
the sheet(s) (read-only)
7. A user will be able to select any number of the sheet from his account to be synced
with the phone number.
8. The user will be able to import a set of information in a sheet from any CSV (Comma
Separated Values) file and that information will be stored in a selected sheet.
9. The user will be able to export a sheet in a CSV file.
[Of course you need an app to be installed in your mobile, but for simplicity, we
avoid testing that app. Assume that the app is installed and you have finished login
activities for the app]
As mentioned earlier, the classes, along with the methods (I-X) and the features of the website
(1-9) are already developed by two different group of software developers. The Unit tests for
the methods of the classes are already tested by the developers of the first group and you
need not to worry about the correctness of the classes/object. Now the website will be
deployed on a server and then will be opened for all.
As a group of Software Engineers in Test, your group in assigned to perform the black box
testing for the developed website.

Submission Criteria:
For the deployed site (say www.phonebook.com), what you need to do:

CRICOS Provider No: 00103D 4/6


1. Develop a detailed test plan for functional testing using Test Rail Software/Website.
Your Test plan (Suit) should contain multiple test cases for each of the 9 scenarios
2. Develop integration and acceptance testing with the plan for Performance Testing
(Stress testing, load testing, volume testing). You should also use TestRail * for writing
the test cases and scenarios
3. Maintain your splitted work through your Trello Board, prioritize them and estimate their
size (Big/Medium/Small). Also, maintain each of your timing using punchtime, and
submit the printout of everyone’s punchtime log in pdf format. You should also submit
the printout of your Trello board in pdf format
4. Take the printout of all the test cases (summary) and submit the pdf with your
assignment
5. In a text file, provide your login credential so that the tutor can log in directly to check
the work

Important Links:
A. Test Rail: https://www.gurock.com/testrail
B. Trello and Punchtime
a. https://trello.com/
b. http://punchtimeapp.com/

Marking Guide:
Assessment Components Marks
Developing Unit Test Modules
i) Test Plan (Functional) 50
ii) Test Plan (Integration) 10
iii) Test Plan (Acceptance) 10
iv) Test Plan (Performance) 10
v) A printout (in pdf) of Trello board and Punchtime log 20
Total 100
Assignment Weight 20%

Special Remarks: Since the assignment submission requires you to work in the Agile environment
and then you have to submit the pdf for Trello and Punchtime, you must give at least 2 weeks to
complete the assignment. You should immediately start understanding the Punchtime and Trello to
complete the task properly.

CRICOS Provider No: 00103D 5/6


Feedback
Marks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2 weeks of
assignment submission.

Plagiarism
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's
own without properly acknowledging that person. You must not allow other students to copy your work
and must take care to safeguard against this happening. More information about the plagiarism policy
and procedure for the university can be found at http://federation.edu.au/students/learning-and-
study/online-help-with/plagiarism.

CRICOS Provider No: 00103D 6/6

Potrebbero piacerti anche