ISCG 6413 Testing and Quality Assurance in ICT
Semester 1 – 2017
Project
Requirement Analysis, System Design, Test
Planning and Design
Department of
Computer Science
Submission Due: Monday 05-June-2017 (week 13)
Weight: 40%
Submission Method:
1. Upload your project to the drop box provided on Moodle by 3.00 pm on Monday
05-June-2017 (week 13).
2. Submit a hard copy of your project to the lecturer in class on Monday 05-June-
2017 (week 13) before 3.30 pm.
Assignment Aim
The aim of this project is to improve the understanding of students about the importance of
testing through different phases of the software development life cycle (SDLC). The project
starts from business requirements, then it moves through requirement analysis, system design,
then to produce test plan and build different test cases for validation and verification.
Instructions
This is a group project of 5 students. The team should consists of:
- A Project manager: responsible of organizing the activities and distributing the tasks
among the team
- A Communicator: to communicate with the client (the lecturer will act as a client for this
project). The Project manager can play this role as well
- The rest of the team: Business analyst(s), Test analyst(s), Designer(s), Developer(s)
Background (Business Requirement)The Admin directorate in the department of Computer science would like a software
application to monitor and report the academic activities regarding students, the courses, the
results and the lecturers.
The relationships between these main components are as follows:
STUDENT (StudentID, Name, Status)
LECTURER (LecturerID, Name, Status)
COURSE (CourseID, Name, Status, LecturerID*)
RESULT (ResultID, Semester, Year, Result, StudentID*, CourseID*)
Any inquiry will be taken from these tables.
Business Requirements
BR1. Lecturer Component
The Lecturer component provides the following functionalities:
BR1.1 Create a new lecturer record, with lecturer ID, the lecturer Full Name and the
current status of the lecturer (full-time, part-time, contract, on-leave).
BR1.2 Search for a particular lecturer according to the ID and prints the lecturer's
information and the courses that they are teaching as a report on the screen.
Note: You need to design the report that combines information from the lecturers'
table and the courses' table, but you do not need to worry about how the
information will be extracted from the table (i.e. the SQL instructions).
BR1.3 Modify the lecturer’s fields apart from the Lecturer ID. ID field cannot be changed
once the lecturer’s record is created.
BR2. Course Component
The courses are categorized as Active (ongoing courses) or InActive (courses are not been taken
this semester). The course component provides the following functionalities:
BR2.1 Create a new course record, with course ID and course Name, status of the course
(Active, In-Active) and the lecturer ID for this course (which represents the last or
current lecturer for this course).BR2.1 Search for a particular course according to the ID or Name, and print the course's
information (including the lecturer's name). If the course is active, then it prints a
list with the students who are taking this course
BR2.1 Modify the course’s fields apart from the Course ID. This cannot be changed once
the course’s record is created.
BR3. Student Component
Students will be taking many courses during their study. The student component provides the
following functionalities:
BR3.1 Create a new student record, with student ID and student Name, and the status of
the student (enrolled: student is still studying, finished: student has graduated, onleave: student suspended his study).
BR3.2 Search for a particular student according to the ID or Name, and print the student's
information including a list with the student’s courses and results.
BR3.3 Modify the student’s fields apart from the Student ID. This cannot be changed once
the student’s record is created.
BR4. Result Component
Although this component depends on the others to work, but this component contains the
most activities among the others. It store the students’ results in the courses that they have
already taken and are currently taking. It has the following functionalities:
BR4.1 Enrol Student into a course: when a student is enrolled to a course, a record is
created with the student ID and the course ID (to link the student to the course),
the semester and year of enrolment (results and status fields are left blank until
the student takes the exam).
BR4.2 Update the student results: when a student finishes the exam for a course, the
student record for this course will be updated with the exam.
BR4.3 Print reports:
BR4.3.1 Print a list of a student’s courses and results for a particular student (select a
student to print).
BR4.3.2 Print a list of students and their results for a particular course in a chosen
semester and year (select a course, a year and a semester to print).
BR4.3.3 In addition to the results, the report should show also the grade next to each
mark according the following table.Tasks to Do
1) Requirement Analysis
Develop the requirement analysis for each of the business requirement’s functionalities (what
the system does to satisfy each of the business requirements).
You may need to contact the client from time to time to make sure you are building the right
software that satisfy the user’s needs.
Use a proper numbering system in your functional requirements for traceability purposes.
2) Design Diagrams
Provide a High level design for the system and for each component.
Provide only one activity Diagram for one of the functionalities in each component (e.g.
for Student component, provide the activity diagram for “Create new student record”
or “Search for a student” or “Modify a student record”)
It is recommended to draw all the activity diagrams for each component, as it helps in
deciding the other testing activities.
3) Use Cases Diagrams
Create use cases diagrams that describe the functionalities of each component in the system
where the client can use them in the acceptance testing.
4) Data Directory
Create the Data Directory for each component. You may use the following template.
Hint: Use MS-Access to help
Component Name: Students
Field Name Data Type Domain (all ranges are
inclusive)
Minimum
Length
Primary
Key
Required
Stud_ID
Stud_Name
. . .
5) Additional Business Rules
Relying on the design documentation created above, list the additional Business Rules for the
functionalities of each component.
6) User Interfaces
Design the User Interfaces (forms) for the system components’ functionalities.
7) Test Conditions
Using the testing design techniques, identify the test conditions for each of the component’s
functionalities, and prioritize them in a table. Use Tagging system for traceability.8) Test Cases
Design the test cases needed to perform component testing for each identified test conditions
in the components. Use may the following template.
Component Name:
Test
Scenario
Test
Case ID
Requirement
to test
Business
Requirement No.
(Traceability)
Test Data Input Expected
Outcomes
Tag
covered
Actual
Outcomes
(leave it
blank)
Depending on your design you may group several test conditions in one test case.
Test scenario consists of many test cases. For example: for test scenario “create new
course” many test cases (the valid and invalid) will come under this test scenario
If the test case requires to identify the steps on how to perform the test case, then use
the following template to create the test case procedures (scripts):
Test case step ID Test case(s) ID Steps
9) Test Data:
Provide examples to the “loaded test data” for each of the components to be able to execute
the test cases
Hint: Use MS-Access to fill the tables of each components with the test data
10) Integration Testing
After integrating all the components together we need to design test cases to perform
integration testing. Identify only 10 test cases suitable for integration testing (Remember that
at this stage you have finished the component testing).
The following provides an example of integration testing case and you may use this template to
create your 10 test cases
Test
Case ID
Requirement to
test
BR No. Test Data Input Expected
Outcomes
Steps Actual
Outcomes
IT-01 Create new
lecturer and
assign an
existing course
to the lecturer
BR1.1,
BR2.1
Create a lecture:
- Valid lecturer ID
- Valid lecturer name
- Valid lecturer status
Link a course to
lecturer:
- Valid lecturer ID used
above
- Valid course ID
A lecturer is
created and
assigned an
existing
course
1. Start the lecturer
component
2. Goto “Create” option
3. Fill the form with valid
input
4. Click “create”
5. Start the course
component
6. Goto “Modify” option
7. Select the course
8. choose the lecturer
ID/name created above
9. click “Apply”
10. confirm either through
the lecturer
(leave it
blank)information or the
course information
[You should replace
valid lecturer ID, etc, by
actual values, which will
depend on the design
and test data]
[These are tentative steps,
the actual steps will depend
on the design]Marking Schedule
Part Available Marks Actual Marks
Component design and testing (232)
- BR1 58
- BR2 58
- BR3 58
- BR4 58
Requirement Analysis 10
Activity Diagrams 5
Data Dictionary 5
Addition Business Rules 8
User Interfaces 5
Test Conditions 10
Test Cases 10
Test Data 5
High Level Design Diagrams 12
Use Cases Design 20
Proper test cases for
integration testing
10
Report Presentation 8
Communication 8
Total: 290
To do your best on this assignment and improve your grades you could;
• Clarify doubts with your lecturer
• Visit Te Pune Ako or Maia for learning advice and support
• Visit the Centre for Pacific Development and Support
• Contact the USU Advocate for independent advice
• For more information go to www.usu.co.nz