Beruflich Dokumente
Kultur Dokumente
12/7/2007 Ho Chi Minh National University International University Instructor: Phan Viet Hoang
Group 6 Date Version Status Author Reviewer Documenter December 7th , 2007 1.0 Baseline Team TiHonMumMim Team TiHonMumMim Nguyen Duc Quan
Team member Nguyen Duc Quan Le Vu Hoang Tran Minh Phung Phan Duy Tan Huynh Da Thuc
Signature
Review requirement and Design ..................................................................................................................7 2.1 2.2 Review requirement ............................................................................................................................7 Review system architecture .................................................................................................................9
3. 4. 5.
Features to be tested ................................................................................................................................ 12 Features not to be tested ......................................................................................................................... 13 Approach ................................................................................................................................................... 13 5.1 Kind of test ........................................................................................................................................ 13 Data and Database Integrity Testing......................................................................................... 13 System testing ........................................................................................................................... 14 Performance Testing ................................................................................................................. 14 Load Testing .............................................................................................................................. 14 Stress Testing ............................................................................................................................ 14 Volume Testing ......................................................................................................................... 14
Test Strategy ..................................................................................................................................... 15 Checklist of unit test ................................................................................................................. 15 Unit testing................................................................................................................................ 15 Smoke test ................................................................................................................................ 16 Test Automation ....................................................................................................................... 16 Data and Database Integrity Testing......................................................................................... 16 System Testing .......................................................................................................................... 17 Performance Testing ................................................................................................................. 17 2
Suspension criteria and resumption requirements .................................................................................. 21 6.1 6.2 Suspension criteria ............................................................................................................................ 21 Resumption requirements ................................................................................................................ 21
7.
Environmental Needs................................................................................................................................ 22 7.1 7.2 7.3 Tools .................................................................................................................................................. 22 Software ............................................................................................................................................ 22 Hardware .......................................................................................................................................... 22
8. 9.
10. Resources .................................................................................................................................................. 24 B1. 2. Test Case ................................................................................................................................................... 27 Unit testing................................................................................................................................................ 27 Test Cases of Log in and Log out Use Case ............................................................................................... 28 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 User logs in successfully with valid username and password........................................................... 28 Fail to login the system when providing invalid username .............................................................. 28 Fail to login the system when providing valid username and invalid password .............................. 28 Fail to login the system when providing empty username ............................................................... 29 Fail to login the system when providing valid username and empty password............................... 29 User account is locked after failing to log in 3 times ........................................................................ 30 User logs in the system using an account is being used by another user......................................... 30 User logs in the system using an account is being locked ................................................................ 30 Recover the password....................................................................................................................... 31 User choose the wrong security question or type the wrong answer.............................................. 31 3
Test Cases of Manage Lecturer Information use case .............................................................................. 39 4.1 4.2 4.3 4.4 4.5 4.6 Add a lecturer with valid information successfully ........................................................................... 39 Fail to add a department when one or some or all fields are empty ............................................... 39 Fail to add a lecturer when inputting special character(s) to one or some or all fields ................... 40 Look for a lecturer ............................................................................................................................. 41 Update a lecturer with valid information successfully ..................................................................... 41 Fail to update a lecturer when one or some or all fields are empty ................................................ 43
4.7 Fail to update a lecturer information when inputting special character(s) to one or some or all fields 43 4.8 4.9 4.10 5. Update cancel ................................................................................................................................... 44 Delete a lecturer ............................................................................................................................... 44 Delete cancel..................................................................................................................................... 45
5.5 Fail to search student by student ID or/and by student name when providing invalid student ID or/and student name .................................................................................................................................... 48 5.6 Fail to search student by student ID or/and by student name when providing empty student ID or/and student name .................................................................................................................................... 49 5.7 5.8 5.9 5.10 Search student by student ID or/and by student name ................................................................... 49 Search student by academic year, semester, and course................................................................. 51 Update a student with valid information successfully...................................................................... 51 Fail to update a student when one or some or all fields are empty ................................................. 52
5.11 Fail to update a student information when inputting special character(s) to one or some or all fields 52 5.12 5.13 5.14 6. Update is canceled ............................................................................................................................ 53 Delete a student................................................................................................................................ 54 Delete is canceled ............................................................................................................................. 54
Test Case of Manage Course Offering Use Case ....................................................................................... 55 6.1 6.2 6.3 6.4 6.5 6.6 The user create a new course offering ............................................................................................. 55 Update the list of course offering ..................................................................................................... 55 Cancel during the Add list of course offering operation................................................................... 56 Cancel during the Update list of course offering operation ............................................................. 57 The user creates an empty list of course offering ............................................................................ 57 Update list of course offering while theres no list of course offering for specific faculty............... 58
7.
Test Case of Manage Financial Activities Use Case................................................................................... 59 7.1 View tuition fee by student ID or/and by student name .................................................................. 59
Test Case of View Academic History Use Case ......................................................................................... 62 8.1 8.2 8.3 Views all course have taken history. ................................................................................................. 62 View by specific year and semester. ................................................................................................. 63 View by passed and failed status. ..................................................................................................... 63
9.
Test Case of Register Course Use Case ..................................................................................................... 63 9.1 9.2 9.3 9.4 User register more than 30 credits ................................................................................................... 63 User selects less than 15 credits ....................................................................................................... 64 Confirm registration of course offering. ........................................................................................... 65 Confirm updating course offering. .................................................................................................... 66
CD1. 2.
Appendix ................................................................................................................................................... 66 Inspection Checklist .................................................................................................................................. 68 The following checklist items apply to the test plan. ............................................................................... 68 The following checklist items apply to the test cases: .............................................................................. 69
1.2 Scope
This Test Plan applies to unit test, integration test and system test that will be conducted on the Online University Registration System [OURS]. It is assumed that unit testing already provided thorough black box testing through extensive coverage of source code and testing of all module interfaces. This Test Plan applies to test all requirements of the [OURS] as defined in the Vision and Scope Document, Use-case specification, and software requirement specification document.
1.3 References
Vision and Scope document Business Plan and SRS document
The detail of these use cases is described in SRS document. Therefore, we will not do it again in this document. However, according to recommendations from Ms Sang, we will add two more use cases. They are Manage User Account and Manage Course Catalog. Manage user account use case is used by a new actor of the system that is administrator. This use case allows user to create, update, delete, and search for user account. Manage course catalog is used by Academic Affair Staff. This use case allows user to add, delete, update, and search for course in the course catalog. Our team use Change Management technique introduced in the book Applied Project Management to deal with these change. And the detail of these two use case specification and their test cases we will provide in the final document which will be submit in review 4. In this document, we only introduce the changes on requirement that our team has been made. The following is the updated use case model.
10
11
5. Approach
5.1 Kind of test
The tests below base on the use case specifications, functional requirements, and non-functional requirements which have been identified as the targets for testing Besides, we also show the kinds of test which our team intend to perform.
14
Technique
Special Considerations
Test Objective
Ensure proper application navigation, data entry, processing, and retrieval. Execute each use case, use case flow, or function, using valid and invalid data, to verify the following: The expected results occur when valid data is used. The appropriate error / warning messages are displayed when invalid data is used. Each business rule is properly applied.
Technique
Completion Criteria
All planned tests have been executed. All identified defects have been addressed.
Special Considerations
Access to the OURS Server and the existing Course Catalog System is required.
17
18
Technique
Special Considerations
19
Special Considerations
Special Considerations
7.2 Software
Documentation tool Scheduling tool IDE Web Server Microsoft word 2007 Microsoft project 2007 Netbean 6.0 Glassfish server 2.0 Photoshop CS2 Design tool Microsoft Express Web Designer JDK DBMS Browser JDK 6.0 MySQL 5.0 Internet Explorer 6.0, 7.0 Firefox, Opera Operating system Windows XP, Vista, Linux
7.3 Hardware
Client 3 laptops 2 desktops 22
8. Schedule
The testing activities and milestones are dependent on the development iterations. The Construction Phase (in RUP-Rational Unified Process) will be split into 3 iterations. Each iteration contains a full test cycle of test planning, designing, development, execution, and evaluation. Refer to the Software Development Plan and the Iteration Plans for the master schedule and Construction Phase plan that shows the development iterations. The following table shows the Test Milestones, start date, and end date as planned. Milestone Task Iteration C1: Review 3 Test Planning Test Design Test Development Test Execution Test Evaluation Iteration C2: Review 4 Test Planning Test Design Test Development Test Execution Test Evaluation 7th December 28th December Start Date 9th November End Date 7th December
9. Acceptance criteria
Satisfy all features will be tested as above lists. OURS Website can run smoothly. Provide a product with functions as requirements, help customer how to use the product easily. And satisfy the following conditions: 23
10. Resources
This section presents the recommended resources for testing the Online University Registration System, their main responsibilities, and their knowledge or skill set. Roles and responsibilities This table shows the staffing assumptions for the test activities. Worker Specific Responsibilities/Comments
Test Manager
Provides management oversight Responsibilities: Provide technical direction Acquire appropriate resources
24
25
Implementer
Implements and unit tests the test classes and test packages Responsibilities: Creates the test classes and packages implemented in the Test Suite.
System The following table sets forth the system resources for the testing the Online University Registration System.
System Resources Resource OURS Server Description Server for simulating the environment of real OURS system Simulated database PCs for connecting to OURS via internet Local network computers
2 Local PCs (connected via LAN) Test Development PC's - 2 Load Simulator
26
1. Unit testing
Again, we use JUnit and EJB3Unit for unit testing. To be note that EJB3Unit is really different from JUnit or NUnit. In JUnit and NUnit, we have to give the input and the output so that these tools can know how to check the result and notify us whether the unit is passed or not. However, with EJB3Unit, if we test the entities, we are not required to provide the input and the output because the EJB3Unit ( an extension of JUnit) automatic provide an random data to check the result our entities. And all the cases we need to check are as below checklist: Verify the input data length specified in the database or in EJB. The EJB3Unit will can collect information about the database basing on the entities and check the length. For example, the student names length is specified is 50, then the EJB3Unit will generate data with length is 50, greater than 50, and less than 50 to check all cases that can happen. And the case that is passed is the case with length 50. Others case is failed. That is the reason while we do not need to write too much test case in this part. However, if the team is required, we will do it in the review 4. Other kinds of checks will be showed below: Verify the input data format specified in each form, classes, and interaction with database String format: only accept string, not number format, or mixed (string and number) format Integer number format: only accept integer number format, not string format, or mixed format Email address format: only valid email address is accepted, other string patterns are not accepted Date format: only date format is accepted, others are not accepted Special character: not use special character Empty field: empty field is not accepted. Null: not allowed using null Test write: test writing operation to database check whether we can write data to database or not Test write null field: not allow write null data to our system database Test write read: test reading and writing data with relationships and constraints Test getter setter: test whether get and set methods of each entity For further information about EJB3Unit and how it work, please contact with our team. This is due to the fact that it is a brand new tool introduced after EJB3.0 is defined. And it change the way J2EE developers do the unit test.
27
2.3 Fail to login the system when providing valid username and invalid password
Name Test case: Fail to login the system when providing valid username and invalid password The user is not logged in when providing valid username and invalid password The user is at the homepage or the log in page
Requirement Preconditions
28
2.5 Fail to login the system when providing valid username and empty password
Name Test case: Fail to login the system when providing valid username and empty password The user is not logged in when providing valid username and empty password The user is at the homepage or the log in page 1. Provide valid username in the username textbox 2. Provide empty password in the password textbox 3. Click on log in button Expected results The user is redirected to the error page with a warning You must provide both username and password
29
2.7 User logs in the system using an account is being used by another user
Name Requirement Preconditions Steps Test case: User logs in the system using an account is being used by another user User CAN NOT log in the system using account is being used by another user A given account is being used by user 1 1. User 2 provides username of user 1 exactly 2. User 2 provides password of user 1 exactly 3. Click on log in button Expected results User 2 is redirected to the error page with a warning This account is being used by another user
2.10 User choose the wrong security question or type the wrong answer
Name Requirement Preconditions Test case: User choose the wrong security question or type the wrong answer The user lost or forget the password The user clicks on the Forget password The system warns the user about recovering the password Steps 1. Choose the wrong security question from the drop down list or 31
2.11 User input the empty answer for the security question
Name Requirement Preconditions Test case: User input the empty answer for the security question The user lost or forget the password The user clicks on the Forget password The system warns the user about recovering the password Steps 1. Choose the security question from the drop down list or 2. Leave the answer text box blank 3. Click on the Recovery password button Expected results The system issues the message indicates the user has chosen the wrong question or the answer is not correct The system redirects the user to the recover password page to choose another question or answer the selected again
3.2 Fail to add a department with name that already exists in the system
Name Requirement Preconditions Steps Test case: Fail to add a department with name that already exists in the system All fields are filled with data The webpage that allows user to input information of a department is displayed 1. Provide departments name (which already exist in the system) in the name textbox 2. Provide departments location in the location textbox 3. Provide departments dean in the dean textbox 4. Provide faculty information that the department has 5. Provide department description in the description text area 6. Click on add button Expected results 1. The department is NOT added to the system 2. The user is redirected to the error page with a warning Fail to add the department to the system. The name of the department that you have provided already exists in the system
3.3 Fail to add a department when one or some or all fields are empty
Name Test case: Fail to add a department when one or some or all fields are empty
33
3.4 Fail to add a department when inputting special character(s) to one or some or all fields
Name Test case: Fail to add a department when inputting special character(s) to one or some or all fields All fields are filled with data The webpage that allows user to input information of a department is displayed 1. Provide departments name containing special character(s) in the name textbox or/and 2. Provide departments location containing special character(s) in the location textbox or/and 3. Provide departments dean containing special character(s) in the dean textbox or/and 4. Provide faculty information containing special character(s) or/and 5. Provide department description containing special character(s) in the description text area or/and 6. Click on add button 34
3.6 Fail to update a department with name that already exists in the system
Name Requirement Preconditions Steps Test case: Fail to update a department with name that already exists in the system All fields are filled with data The webpage that allows user to update information of a department is displayed 1. Provide departments name (which already exist in the system) in the name textbox or/and 2. Provide departments location in the location textbox or/and 3. Provide departments dean in the dean textbox or/and
35
3.7 Fail to update a department when one or some or all fields are empty
Test case: Fail to update a department when one or some or all fields are empty NOT all fields are filled with data The webpage that allows user to update information of a department is displayed 1. Provide empty departments name in the name textbox or/and 2. Provide empty departments location in the location textbox or/and 3. Provide empty departments dean in the dean textbox or/and 4. Provide empty faculty information that the department has or/and 5. Provide department description in the description text area or/and 6. Click on add button
Expected results
1. The department is NOT updated in the system 2. The user is redirected to the error page with a warning Fail to update the department in the system. You must provide all information
36
Preconditions Steps
37
Preconditions Steps
4.2 Fail to add a department when one or some or all fields are empty
Test case: Fail to add a department when one or some or all fields are empty NOT all fields are filled with data The webpage that allows user to input information of a department is displayed 1. Provide empty lecturers name in the name textbox or/and 2. Choose empty lecturers date of birth in the calendar or/and 3. Provide empty lecturers cell-phone number in the cell-phone textbox or/and
39
4.3 Fail to add a lecturer when inputting special character(s) to one or some or all fields
Name Test case: Fail to add a lecturer when inputting special character(s) to one or some or all fields All fields are filled with data The webpage that allows user to input information of a lecturer is displayed 1. Provide lecturers name containing special character(s) the name textbox or/and 2. Choose lecturers date of birth in the calendar or/and 3. Provide lecturers cell-phone number containing special character(s) in the cell-phone textbox or/and 4. Provide lecturers email address containing special character(s) in the email textbox or/and 5. Provide lecturers department where that lecturer belongs, containing special character(s), in the department textbox or/and 6. Provide lecturers degree containing special character(s) in the degree textbox or/and 7. Click on add button Expected results 1. The lecturer is NOT added to the system 2. The user is redirected to the error page with a warning Fail to add the lecturer to 40
Preconditions
Steps
Steps
42
Steps
4.7 Fail to update a lecturer information when inputting special character(s) to one or some or all fields
Name Test case: Fail to update a lecturer information when inputting special character(s) to one or some or all fields All fields are filled with data The webpage that allows user to update information of a lecturer is displayed. (To be noted that we have test case for looking for lecturer above already. Theres no need to repeat it here.)
Requirement Preconditions
43
Preconditions
Preconditions
45
5.2 Fail to add a student when one or some or all fields are empty
Name Requirement Preconditions Steps Test case: Fail to add a student when one or some or all fields are empty NOT all fields are filled with data The webpage that allows user to input information of a student is displayed 1. Provide empty students name in the name textbox or/and 2. Provide empty students ID in the name textbox or/and 3. Choose empty students faculty in the list of faculty or/and 46
5.3 Fail to add a student when inputting special character(s) to one or some or all fields
Name Test case: Fail to add a student when inputting special character(s) to one or some or all fields All fields are filled with data The webpage that allows user to input information of a lecturer is displayed 1. Provide students name containing special character(s) the name textbox or/and 2. Provide students ID containing special character(s) in the name textbox or/and 3. Choose students faculty in the list of faculty or/and 4. Choose students academic duration in the range list or/and 5. Choose students academic year in the list or/and 6. Choose semester of this academic year or/and 7. Choose course of this semester or/and 8. Click on add button Expected results 1. The student is NOT added to the system 2. The user is redirected to the error page with a warning Fail to add the student to 47
Preconditions Steps
5.5 Fail to search student by student ID or/and by student name when providing invalid student ID or/and student name
Name Test case: Fail to search student by student ID or/and by student name when providing invalid student ID or/and student name User wants to find information of student whose ID or/and name does not exist in the system, then the system must notify the user about this The webpage allows user to find students is displayed 1. Chooses ID and Name filter from the filter drop down list 2. Provide an invalid ID in the ID textbox or/and 3. Provide a invalid name in the name textbox 4. Click on search button Expected results The user is redirected to the error page with a warning The desired student is not found
Requirement
Preconditions Steps
48
5.6 Fail to search student by student ID or/and by student name when providing empty student ID or/and student name
Name Test case: Fail to search student by student ID or/and by student name when providing empty student ID or/and student name User wants to find information of a specific students ID or list of students with given name. The webpage allows user to find students is displayed 1. Chooses ID and Name filter from the filter drop down list 2. Provide an empty ID in the ID textbox or/and 3. Provide a empty name in the name textbox 4. Click on search button Expected results The user is redirected to the error page with a warning You must provide an ID or/and student name
Requirement
Preconditions Steps
Preconditions Steps
49
50
Preconditions Steps
Steps
5.10 Fail to update a student when one or some or all fields are empty
Name Requirement Preconditions Test case: Fail to update a student when one or some or all fields are empty NOT all fields are filled with data The webpage that allows user to update information of a student is displayed (To be noted that we have test cases searching for student above already. Theres no need to repeat it here) 1. Provide empty students name in the name textbox or/and 2. Provide empty students ID in the name textbox or/and 3. Choose students faculty in the list of faculty or/and 4. Choose students academic duration in the range list or/and 5. Choose students academic year in the list or/and 6. Choose semester of this academic year or/and 7. Choose course of this semester or/and 8. Click on update button Expected results 1. The student is NOT updated in the system 2. The user is redirected to the error page with a warning Fail to update the student in the system. You must provide all information
Steps
5.11 Fail to update a student information when inputting special character(s) to one or some or all fields
Name Test case: Fail to update a student information when inputting special character(s) to one or some or all fields
52
Steps
Preconditions
53
Preconditions
54
55
56
Test case: Cancel during the Update list of course offering operation The selected list of course offering is not updated The user must log in as the Academic Affair Staff 1. Click on the button Manage Course Offering 2. Click on the button Update list of course offering 3. Click on the drop down list to choose the desired faculty 4. Check or uncheck the check box of each course to change the list of course offering 5. Change the lecturer for each course (if desired) 6. Click on the Update button 7. Click on the Cancel button to confirm the operation
Expected results
The confirmation displayed The system redirects to the Manage Course Offering page
6.6 Update list of course offering while theres no list of course offering for specific faculty
Name Test case: Update list of course offering while theres no list of course offering for specific faculty Empty list of course offering is displayed 1. The user must log in as the Academic Affair Staff 2. The selected faculty has no list of course offering Steps 1. Click on the button Manage Course Offering 2. Click on the button Update list of course offering 3. Click on the drop down list to choose the desired faculty Expected results 1. The system displayed the empty list 2. A warning is displayed Theres no list of course offering in this faculty. Cannot update
Requirement Preconditions
58
Preconditions Steps
7.2 Fail to view tuition fee by student ID or/and by student name when providing invalid student ID or/and student name
Name Test case: Fail to view tuition fee by student ID or/and by student name when providing invalid student ID or/and student name User wants to view tuition fee information of student whose ID or/and name does not exist in the system, then the system must notify the user about this The webpage allows user to view tuition fee of students is displayed 1. Chooses ID and Name filter from the filter drop down list 2. Provide an invalid ID in the ID textbox or/and 3. Provide a invalid name in the name textbox 4. Click on search button
Requirement
Preconditions Steps
59
7.3 Fail to view tuition fee by student ID or/and by student name when providing empty student ID or/and student name
Name Test case: Fail to view tuition fee by student ID or/and by student name when providing empty student ID or/and student name User wants to view tuition fee information of a specific student or list of students with given name. The webpage allows user to view tuition fee of students is displayed 1. Chooses ID and Name filter from the filter drop down list 2. Provide an empty ID in the ID textbox or/and 3. Provide a empty name in the name textbox 4. Click on search button Expected results The user is redirected to the error page with a warning You must provide an ID or/and student name
Requirement
Preconditions Steps
Preconditions Steps
60
Preconditions Steps
Preconditions
Steps
63
64
65
C- Appendix
Message ID MS001 Type Context Error Messages Wrong password or username cannot be found. 66 Actions
Info
Authentication Failed
OK
MS003
Info
OK
MS004
Question
Delete a department
OK Cancel
MS005
Question
Update a lecturer
Are you sure you want to update the current displayed lecturer? Are you sure you want to delete the selected lecturer?
OK Cancel
MS006
Question
Delete a lecturer
OK Cancel
MS007
Question
Update a student
Are you sure you want to update the modified student? Are you sure you want to delete the selected student? The selected student does not exist
OK Cancel
MS008 MS009
Question Info
OK Cancel OK
MS010
Info
Ok
MS011 MS012
Question Info
Are you sure you want to update tuition fee status of current student? Cannot find the result.
OK Cancel OK
MS013 MS014
Info Info
The course registration has been closed You cannot register more than 30 67
OK OK
MS016
Question
OK Cancel
MS017
Question
OK Cancel
D- Inspection Checklist 1. The following checklist items apply to the test plan.
Completeness Does the document meet all established templates and standards? Is the document complete? Are there any requirements that are not tested? Are there any features that are planned for testing but should be excluded? Feasibility Can the testing as planned be accomplished within the known cost and schedule constraints? Can every test described in the test plan be reasonably conducted? Environment Is the description of the environment complete? Is the test plan traceable to any nonfunctional requirements that define the operating environment? Performance Does the test plan account for the expected load for concurrent users, large databases, or other performance requirements? Can the performance tests be traced back to requirements in the specification? Acceptance Criteria Do the acceptance criteria match the standards of the organization? 68
69