Block Watchers



Table of Contents

Software tool 2

Software Testing 2

testing deadline 4

user acceptance testing detail 6

integration testing 9

project metrics 10

quality assurance 14

References 15

Software tool

Software Tools

Xcode will be used for the testing process of the application. Xcode is an Integrated Development Environment (IDE) containing a suite of software development tools developed by Apple for developing software for OS X and iOS [1]. The current version of Xcode (Version 4) being used to develop the application has new debugging features that can allow faster and smoother testing. Xcode will be used for two types of software testing: unit testing and system testing.

Software Testing

Unit testing and system testing will be two main software testing we used. Both of them will be operate by the team member, and all the team members will be involved in different stage of software testing.

Unit Testing

Unit testing is the first of two types of software testing to generate and manage test cases. The purpose of unit testing is to ensure each module or block of code of the application during development conforms to the requirements. The following classes will be tested separately via Xcode:

1. Menu

The Menu class will be tested to ensure the user can login and access the correct pages.

2. Help Page

Help Page class is tested to ensure it can show the contact and tutorial information when accessed.

3. Plate Check

The Plate Check class is tested to ensure the user can submit and have a license plate checked to see if it is stolen or not.

4. Tracker

The Tracker class is tested to ensure it can record distances of patrol routes, record location of the user, and display the recommended route "fog of war".

5. User Network

User Network class is tested to ensure it can create and delete user profiles.

6. User Information

This is tested to ensure the user can get account information and edit it. Also, user can earn points and level up.

7. Reward System

This system is tested to ensure that the app can calculate the users rank using their points, as well as assigning badges to the user based on what tasks they have completed.

8. Access Database

The database class is tested to ensure it can update, delete, and create user information.

9. Friend List

The Friends list is tested to ensure it can manage users friends by being able to add and remove them from the list of friends usernames.

System Testing

System testing is another type of software testing that is used to generate and manage test cases. The purpose of system testing is the testing of a complete and fully integrated software product [2]. This will ensure all the features are properly together. The following features will be test:

1. Ranking system/ Point system

User can get points by plate check and route tracking. This test will ensure the user get correct points and rank.

2. Check plate

By enter stolen and not stolen plates, plate checking will be tested for correct options appearing after plates are checked with respect to available buttons, text on screen, and if a car is stolen then one developer receiving an email with the report included.

3. Track Route/ Suggest route

The user will receive points after completing a their route in a result screen. This test will ensure the correct amount of points are displayed with time taken and distanced travelled and that this information has been updated in the users information.

4. Social network

The user can add, remove, and view friends. Social Network testing will ensure the information the user is viewing about their friends is correct with what is stored on the server.

testing deadline

All the three versions of Block Watchers will be tested by unit testing and system testing. These tests will be held before the user testing. To ensure there has been enough time for the development group to fix all the errors that occurred during the testing, the deadline of each testing will be several days earlier than the deadline of each version.

Unit Testing Deadline

Unit Testing will be done primarily during the programming period by the programmer. Also, the QA will be involved in this test. The details of all the unit tests will be as follows:

Table 2.1: Unit Testing Deadline

| |Start Date |Deadline |

|Version 1 Due: February 18th, 2013 |

|Developer Unit Testing |February 10th, 2013 |February 14th, 2013 |

|QA Unit Testing |February 14th, 2013 |February 15th, 2013 |

|Version 2 Due: March 13th, 2013 |

|Developer Unit Testing |February 25th, 2013 |March 7th, 2013 |

|QA Unit Testing |March 7th, 2013 |March 8th, 2013 |

|Version 3 Due: March 25th, 2013 |

|Developer Unit Testing |March 17th, 2013 |March 19th, 2013 |

|QA Unit Testing |March 19th, 2013 |March 20th, 2013 |

System testing deadline

System testing will be scheduled after unit testing. Programmers will do the testing primarily. QA will also be involved in the second phase of system testing. The details of all the unit tests will be as follows:

Table 2.2: System Testing Deadline

| |Start Date |Deadline |

|Version 1 Due: February 18th, 2013 |

|Developer Unit Testing |February 15th, 2013 |February 16th, 2013 |

|QA Unit Testing |February 16th, 2013 |February 17th, 2013 |

|Version 2 Due: March 13th, 2013 |

|Developer Unit Testing |March 8th, 2013 |March 9th, 2013 |

|QA Unit Testing |March 9th, 2013 |March 10th, 2013 |

|Version 3 Due: March 25th, 2013 |

|Developer Unit Testing |March 20th, 2013 |March 21th, 2013 |

|QA Unit Testing |March 21th, 2013 |March 22nd, 2013 |

user acceptance testing detail

User Acceptance Testing

User acceptance testing will be operated by credible users. Application’s quality is not only depending on how many requirements are achieved, but also the users enjoyment and satisfaction of the application. In order to achieve this goal, the user acceptance test will be scheduled. At least one user test will be held on March 22nd, 2013. The second user test is ensuring the bugs occurring in the first user test have been fixed.

Table 2.3: User Acceptance Testing Schedule

| |Date |Time |Location |

|Version 3 (Final Version) Deadline: March 25th, 2013 |

|1st User Test |March 22nd, 2013 |10:00AM |Burnaby Campus |

|2nd User Test |March 24th, 2013 |10:00AM |Burnaby Campus |

2nd User Test: This test will happen when there occurs any bugs on the first user test.

Detail of First User Test

For the first user test, users will test all the features of the application. Feedback will be recorded by QA. Then development group can start to fix bugs before 2nd user test. Testing details will show step-by-step instructions, which will help users to fully test application without any previous experience of Block Watchers. The instructions will be as follow:

Test 1: Start and Help Menu:

Provide two usernames and an address. First username is already registering by development group; second username is not register yet. The address is providing as user’s address for testing purpose.

1. Click the application icon.

2. Register a new account.

a. Use first username and input any 4-digit as a password. Then confirm the password. A notification shows up.

b. Use second username and also input a 4-digit password and password, then click submit button.

3. Sign in with correct username and password, then automatic enter the map screen.

4. Enter the address on the text field, then hit submit button.

5. Submit button will direct user to the help page, then read the simple tutorial on the help page. Also try to enter the Help Menu by click the button that is located at right up of the screen.

Test 2: Tracing route and suggest route

1. User select route button, which is the first button from menu bar.

2. Click start button to start tracking the route.

3. Walk through the campus road for half hour.

4. Click stop button, then direct to the result page.

5. Check distance and times.

6. Click done button.

Test 3: Plate check and take photo

First find a car with license plate.

a. Online Mode:

1. Connect to the network.

2. Click plate check button, which is second button from menu bar. A license input screen is shown with a text box

3. Enter the plate number and click submit button.

4. Check the result page.

5. Click new plate button to start over again.

b. Offline Mode

1. Close the network.

2. Click plate check button.

3. Enter the plate number and “clicks submit and try check again” button.

c. Find a car is registered stolen: For the testing purpose, a stolen car license will provide to user. First, user should find a car and takes the required information and emails it to one of our accounts. Then we can check the findings.

1. Click plate check button from menu bar.

2. Enter the plate number and click submit button.

3. After user get feedback (stolen car). Click “takes a picture” button to take picture.

4. Confirm the information and click send button to send email.

Test 4: Profile Page

For testing purpose, another two username will be providing for user testing. One is valid friend’s username. Another one will be invalid friend username.

1. Open the profile page by click profile button that is the third button from menu bar.

2. Check the user information, including user name, street name, rank, points, points progress bar, badges, friend list, and there should have a friends button and edit profile button.

3. Click add button, input the friend’s username, then click add friend button.

4. Select enter another username.

5. Input correct friend’s username, click add friend button again.

6. Click edit button on profile page.

7. Click change address button, input a new address, then click change address button.

8. Click edit button on profile page, then click edit password.

a. Input the incorrect old password, new password and confirm of the new password, then click change password button.

b. Input the correct old password, new password and confirm of the new password, then click change password button.

9. Click edit button on profile page, and then click edit button on profile page, then click delete profile button.

Test 5: Ranking system/ Point system

1. Do Test 2 and Test 3.

2. Repeat until the end of user testing

Second user test

The second user test will happen if there are bugs occurring on the first user test. The test instructions will be same as the first one, but we will focus on the part that did not work in the first user test.

integration testing

Integration testing will happened after the unit testing of each version. This testing is different from the unit testing because integration testing is focused more on that the units can properly connect to each other. In order to avoid “big bang” integration, the integration testing will happen during each version.

Version 1

1. Internet Checking. When user opens the application it will check for Internet connection.

2. Testing buttons on the menu bar. This function should be completely done in Version 1. User can click the buttons and they will lead to a new page (Blank page).

3. Plate Check without Points System will be accessed when user presses the appropriate button on the menu bar. User can input plate numbers and check through the website (CPIC.ca). The app will check for internet connection again before checking CPIC.ca.

4. Contact page will be fully implemented. When the user clicks the contact page button, the application will show the contact of local police offices.

Version 2

1.User profile will be completely done. It includes point system, ranks, and badges.

2. Basic version of the checking and suggest route function will be included, only showing a basic map. User can type addresses and it will show on map.

3. Points system and badges will be added to plate check so the user can begin collecting points and badges from scanning plates.

Version 3

1. Complete the help menu. User can now access the Help menu by pressing the corresponding button on the menu bar. This will show all the tutorials on how to use the app.

2. Complete the check and suggest route function. The user will now gain points and badges for patrolling routes which will be viewable on the user profile. The app will also check internet connection before starting the patrol.

project metrics

The complexity of Block Watchers will be measured by numbers of class, lines of code, time needed and difficulty of each feature. Xcode shows the number of classes and lines of each class. The difficulty and the coding time of each feature will provided by programmers. Excel will be used to draw the charts. The example will be as follows:

Table 2.4: Project Metrics

|Feature |Numbers of Class |Lines of Code |Time needed (Days) |Difficulty (5=hardest) |

|Social Networking |5 |1000~1200 |4 |5 |

|Neighborhood Patrol |5 |800~1000 |5 |5 |

|License Plate Checking |2 |300~400 |2 |2 |

|User Support |1 |100~200 |1 |1 |

[pic]

[pic]

[pic]

[pic]

quality assurance

In order to get a more comprehensive feedback, some features of the application may need testing for consecutive days. For example, the ranking system/ Point system and tracing route and suggest route. Because of there is no enough time for user to testing application for several days, so this kind of testing will operate by team members during each version. Also, the QA will be responsible for the error log that contains all the feedback from the tests. This will help the development group analyze and track all the errors.

References

[1] Apple developer “New Debugger” [Online]. Available:

[Accessed: Feb 7, 2013].

[2] “What is Testing System” [Online]. Available:

[Accessed: Feb 7, 2013].

| |

-----------------------

Quality Assurance

Version 2.0

Block Watchers

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download