No More Stuck On Crowded
Roads Project
System Testing Document
Version: STD 1.0
Prepared by
Team #8
Arda Arıkoğlu – Batuhan Ucuzal – Umut Kesen
March 7th, 2011
1.INTRODUCTION
1.1 Purpose
Our Purpose in software test document is to give information about testing plan for no more stuck
on crowded roads project. This documentation will give idea about test cases, test procedures
specification and test summary.
1.2 Scope
Our projects test phases are explained in this document.Validation and verification of pass / fail
criteria the features not to be tested, test case specifications schedule are explained in this
document
2.REFERENCES
www.webopedia.com/TERM/I/IEEE_829.html
http://www.coleyconsulting.co.uk/IEEE829.htm
http://en.wikipedia.org/wiki/Software_testing
http://en.wikipedia.org/wiki/Test_plan
3.DEFINITIONS
3.1 Definitions
Test Design Specification: a detail of the test conditions and the expected outcome. This document
also includes details of how a successful test will be recognized.
Test Procedure Specification: a document specifying a sequence of actions for the execution of a test.
Also known as test script or manual test script.
Test Case Specification: a document specifying a set of test cases (objectives, inputs, test actions,
expected results, and execution preconditions) for a test item.
Test Log: a chronological record of relevant details about the execution of tests.
Test Item Transmittal Report: a detail of when specific tested items have been passed from one stage
of testing to another.
Test Summary Report: a detail of all the important information to come out of the testing procedure,
including an assessment of the quality of the system, any incidents that occurred, and a record of what
testing was done and how long it took to be used in future test planning. This final document is used to
determine if the software being tested is viable enough to proceed to the next stage of development.
3.2 Acronyms and Abbreviations
3.2.1 Acronyms
NMSOCR : No More Stuck on crowded Roads
DBMS : Database Management System
IEEE: Institute of Electrical and Electronics Engineers
SPMP: Software Project Management Plan
SRS: Software Requirements Specifications
SDD: Software Design Description
STD: Software Test Description
3.2.2 Abbreviations
DB SERVER : Database server
4. TEST PLAN
4.1 Purpose
The purpose of the Software Test Document in our project is;
To test if our modules work properly
To minimize the error rate
To check if the interaction between the modules
To finalize the project with the highest perofrmance
Customer/user satisfaction
To see whether we need the requirements that are defined earlier
4.2 Outline
The test plan has the following structure;
Test plan identifier
Introduction
Test items
Features to be tested
Features not to be tested
Approach
Item pass/fail criteria
Suspension criteria and resumption requirements
Test deliverables
Testing tasks
Environmental needs
Responsibilities
Staffing and training needs
Schedule
Risks and contingencies
Approvals
4.2.1 The Test Plan Identifier
The N.M.S.O.C.R 's test identifier N.M.S.O.C.R- Test Plan
4.2.2 Introduction
We will test both the interaction between the modules and the interaction inside of them.In addition to
that, we will test whether the functions are enough or not.
Software items to be tested are;
NMSOCR-Frame1 ,NMSOCR-Frame2 ,NMSOCR-Frame3;
NMSOCR-Velocity1, NMSOCR-Velocity2, NMSOCR-Velocity3;
NMSOCR-RF1,NMSOCR-RF2;
NMSOCR-Web1,NMSOCR-Web2;
NMSOCR-DCM1,NMSOCR-DCM2, NMSOCR-DCM3, NMSOCR-DCM4, NMSOCR-DCM5,
NMSOCR-DCM6;
4.2.3 Test Items
We will test the modules and the functions depending on the SRS and SDD documents that we have
made so far.
NMSOCR MODULES & FUNCTION TEST IDENTIFIER
FRAME SUBSTRACTION MODULE
Motion Detection NMSOCR-Frame1
Get Frame NMSOCR-Frame2
Minimize Noise NMSOCR-Frame3
NMSOCR MODULES & FUNCTION TEST IDENTIFIER
VELOCITY CALCULATION MODULE
Number of Frames NMSOCR-Velocity1
Calculate Velocity NMSOCR-Velocity2
Base Condition NMSOCR-Velocity3
NMSOCR MODULES & FUNCTION TEST IDENTIFIER
RF (Radio Frequency) COMMUNICATION MODULE
RF Signal for Input NMSOCR-RF1
RF Signal for Output NMSOCR-RF2
NMSOCR MODULES & FUNCTION TEST IDENTIFIER
WEB-PAGE MODULE
Admin Log in Failure NMSOCR-Web1
Search for Users NMSOCR-Web2
NMSOCR MODULES & FUNCTION TEST IDENTIFIER
DATABASE CONNECTION MODULE
Date & Time NMSOCR-DCM1
Number of Cars NMSOCR-DCM2
Velocity of Cars NMSOCR-DCM3
SignBoard Control NMSOCR-DCM4
IP of Cameras NMSOCR-DCM5
IP of SignBoard NMSOCR-DCM6
4.2.3.1 Program Modules
TYPE TEST NAME
FRAME SUBSTRACTION MODULE NMSCOR-test-fs
VELOCITY CALCULATION MODULE NMSCOR-test-vc
RF COMMUNICATION MODULE NMSCOR-test-rf
WEBPAGE MODULE NMSCOR-test-wp
DATABASE CONNECTION MODULE NMSCOR-test-dbc
4.2.3.2 Job Control Procedures
Library Member Name
AFORGE NMSOCR-03-11
4.2.3.3 User Procedures
Our group determines the user procedures depending on both normal and failed user/system scripts.
4.2.3.4 Operator Procedures
Our group designs the user procedures depending on the environment and requirements
4.2.4 Features to be Tested
Features to be tested mentioned in below.
Specification Number Description
NMSOCR11-01 Database Connection
NMSOCR11-02 Security
NMSOCR11-03 Performance
NMSOCR11-04 Interfaces
NMSOCR11-05 Search
NMSOCR11-06 Calculate
NMSOCR11-07 Image Processing
4.2.5 Features not to be Tested
The following list describes the features that will not to be tested:
Libraries (aforge)
4.2.6 Approach
4.2.6.1 Unit Testing
We will test all of our devices one by one at the beginning.
Camera: to see if the camera gets the proper images
Server: to see if the server makes the calculation correctly
Signboard: to see if the signboard outputs the sign correctly
Web page: to see if the graphic on our web site is correct
4.2.6.2 Integration Testing
We will test all the interaction between all of our devices, whether to see information flow between
them is correct or not.
Camera – server: if the camera sends the images correctly to the server or sends correct images
to the server
Server – web page; if the server sends the correct information by using the database to the web
page for the graphical chart.
Server – signboard: to see whether signboard gets the correct signal for giving out an output
depending on that.
4.2.6.3 System Testing
We will test whole system by combining all of the devices together to see the interaction between all
of them is correct and if they work well together or not. Main purpose is to see if the devices are
“talking the same language” and to be sure that the information flow between them is correct.
4.2.6.4 Black Box Testing
Simply, black box testing is about the correctness of the inputs and outputs. After making unit,
integration and system testings, we are sure that the information flow between the devices we are
using is okay. However, we are still not sure if the information is relevant or not. To check that, we
will go under the camera with a car whose speed is known. After having some number of frames, we
will compare it with our base case and see if the result is correct or not.
4.2.7 Item pass/Fail criteria
There will be a criteria which we will compare to see if each test item has passed or not. We will call a
test case “failed” if the test case do not satisfy the conditions and it’s usability of the functionality is
not met. Simply, items should have features as;
Working as expected.
Meets the requirements that is determined in design and develeopment.
Test execution is main criteria and also the product should meet the requirements to be called
“passed”.
4.2.8 Suspension criteria and resumption requirements
If a test case fails, relevant features are going to be suspended. Failed test case will be checked again
and again untill it gives the expected result. Independent features will continue testing.
After the bug has found, testing will continue untill whole system passes. If the bug can not be found,
testing will be suspended. Testing will be done again to be sure about the bug which should be
removed. After the bug is found and there will be no other bugs left (which means the system works
fine), there wont be anything to worry about.
4.2.9 Test Deliverables
NMSCOR developers will be generated the following documents after the test completion.
Test plan
Test design specifications
Test case specifications
Test procedure specifications(16.03.2010)
Test item transmittal reports
Test logs
Test incident reports
Test summary reports
4.2.10 Testing Tasks
4.2.11 Environmental Needs
4.2.11.1 Hardware
RF
SignBoard
Server
Cam
4.2.11.2 Software
windows 7/xp/vista
Microsoft Visual Studio 2008
C#
Oracle
4.2.12 Responsibilities
Umut KESEN : managing test plan, designing test plan, executing test, checking test results.
Arda ARIKOĞLU: managing test plan, designing test plan, executing test, checking test results.
Batuhan UCUZAL: executing test, checking test results,resolving
4.2.13 Staffing and Training Needs
staff Training subject Duration
Arda Arıkoğlu Database testing, Unit testing, 10--15
Performance testing days
Umut Kesen Database testing, Unit testing, 10--15
Performance testing days
Batuhan Ucuzal Database testing, Unit testing, 10--15
Performance testing days
Training needs for all the team members are;
windows 7/xp/vista
Microsoft Visual Studio 2008
C#
Oracle
4.2.14 Schedule
Team member Start Finish
Arda Arıkoğlu 16.03.2011 15.05.2011
Umut Kesen 16.03.2011 15.05.2011
Batuhan Ucuzal 16.03.2011 15.05.2011
4.2.15 Risks
Damage on camera
Damage on signalboard
Break down of Server
Other signals mixed with our RF signal
5.TEST CASE SPECIFICATION
5.1 Purpose
The test case specification identifier, test items, input and output specifications, environmental
needs, special procedural requirements and intercase dependencies are explained in this part.
5.2 Outline
5.2.1 Test Case specification Identifier
No more stuck on crowded roads test case specification identifier is NMSOCR-Test.
5.2.2 Test Items
We have explained the test items in 4.2.3
5.2.3 Input Specifications
NMSOCR MODULES & FUNCTION TEST IDENTIFIER INPUT SPECIFICATION
FRAME SUBSTRACTION MODULE
Motion Detection NMSOCR-Frame1 Capturing Pixel Difference
Get Frame NMSOCR-Frame2 Each of Picture Difference
Minimize Noise NMSOCR-Frame3 Pixel Changes in Small Area
NMSOCR MODULES & FUNCTION TEST IDENTIFIER INPUT SPECIFICATION
VELOCITY CALCULATION MODULE
Number of Frames NMSOCR-Velocity1 The Frame Number when
Motion Detected
Calculate Velocity NMSOCR-Velocity2 Compare Frame Number and
Base Condition
Base Condition NMSOCR-Velocity3 Constant Velocity of a Frame
NMSOCR MODULES & FUNCTION TEST IDENTIFIER INPUT SPECIFICATION
RF (Radio Frequency) COMMUNICATION MODULE
RF Signal for Input NMSOCR-RF1 Boolean (1 or 0)
RF Signal for Output NMSOCR-RF2 -----------------
NMSOCR MODULES & FUNCTION TEST IDENTIFIER INPUT SPECIFICATION
WEB-PAGE MODULE
Admin Log in Failure NMSOCR-Web1 Username or Password
Search For Users NMSOCR-Web2 Information on Database
NMSOCR MODULES & FUNCTION TEST IDENTIFIER INPUT SPECIFICATION
DATABASE CONNECTION MODULE
Date & Time NMSOCR-DCM1
Number of Cars NMSOCR-DCM2
Velocity of Cars NMSOCR-DCM3
SignBoard Control NMSOCR-DCM4 Traffic Density Information
IP of Cameras NMSOCR-DCM5 Constant Adress for Cameras
IP of SignBoard NMSOCR-DCM6 Constant Adress for Signboard
5.2.4 Output Specifications
NMSOCR MODULES & FUNCTION TEST IDENTIFIER OUTPUT SPECIFICATION
FRAME SUBSTRACTION MODULE
Motion Detection NMSOCR-Frame1 Show Differences
Get Frame NMSOCR-Frame2 ---------
Minimize Noise NMSOCR-Frame3 (can't Observe any Changes )
NMSOCR MODULES & FUNCTION TEST IDENTIFIER OUTPUT SPECIFICATION
VELOCITY CALCULATION MODULE
Number of Frames NMSOCR-Velocity1 -------
Calculate Velocity NMSOCR-Velocity2 Calculate value
Base Condition NMSOCR-Velocity3 -------
NMSOCR MODULES & FUNCTION TEST IDENTIFIER OUTPUT SPECIFICATION
RF (Radio Frequency) COMMUNICATION MODULE
RF Signal for Input NMSOCR-RF1 -------
RF Signal for Output NMSOCR-RF2 Boolean (1 or 0)
NMSOCR MODULES & FUNCTION TEST IDENTIFIER OUTPUT SPECIFICATION
WEB-PAGE MODULE
Admin Log in Failure NMSOCR-Web1 User exist or not
Search For Users NMSOCR-Web2 Specific Time Interval
NMSOCR MODULES & FUNCTION TEST IDENTIFIER OUTPUT SPECIFICATION
DATABASE CONNECTION MODULE
Date & Time NMSOCR-DCM1 Graphical review on webpage
Number of Cars NMSOCR-DCM2 Graphical review on webpage
Velocity of Cars NMSOCR-DCM3 Graphical review on webpage
SignBoard Control NMSOCR-DCM4 Send Signal with helping to RF
IP of Cameras NMSOCR-DCM5 Constant Adress for Cameras
IP of SignBoard NMSOCR-DCM6 Constant Adress for Signboard
5.2.5 Environmental Needs
Hardware
RF
SignBoard
Server
Cam
Software
windows 7/xp/vista
Microsoft Visual Studio 2008
C#
Oracle
5.2.6 Special Procedural Requirements
We will not use special tool for testing our software
5.2.7 Interface Dependencies
Our project consist of dependencies between devices. We only have interface for camera, webpage
and signboard which are vital for our project. After we test interfaces, we will be testing other modules
and functions
6.Test Procedure Specification
6.1 Purpose
The purpose of procedure specification is to determine the steps of execution of test cases and
to see if the modules meet with requirements.
6.2 Outline
6.2.1 Test procedure Specification Identifier
6.2.2 Purpose
To show the procedures and testing process is the main purpose.
6.2.3 Special Requirements
Tester should have knowledge about C#, C++, Oracle and Visual Studio to use also the
testing tools for testing.
6.2.4 Procedure Steps
6.2.4.1 Frame Substraction
6.2.4.1.1 Log
We don’t have logging in our system for any device.
6.2.4.1.2 Set Up
Set the camera up to the location.
6.2.4.1.3 Start
Our system starts taking differences between the images, whenever there is a change between
the background and current window.
6.2.4.1.4 Proceed
Run the test cases to see if the differences between the images are correctly found.
6.2.4.1.5 Measure
Measurement depends on the outputs of the system.
6.2.4.1.6 Shut Down
During the testing, if any errors or failures occur, testing will be suspended.
6.2.4.1.7 Restart
If there will be an error during testing, in that suspended period, errors are checked and after
that, testing restarts.
6.2.4.1.8 Stop
After testing finalizes, testing will stop.
6.2.4.1.9 Wrap Up
If the captured images are wrong, then they should be checked again for server to get the
correct images.
6.2.5 Velocity Calculation
6.2.6 Test procedure Specification Identifier
6.2.7 Purpose
To show the procedures and testing process is the main purpose.
6.2.8 Special Requirements
Tester should have knowledge about C#, C++, Oracle and Visual Studio to use also the
testing tools for testing.
6.2.9 Procedure Steps
6.2.9.1 Frame Substraction
6.2.9.1.1 Log
We don’t have logging in our system for any device.
6.2.9.1.2 Set Up
We do not have a set up for velocity calculation module, because once we set up our camera
and server, it means it has already started working.
6.2.9.1.3 Start
This module starts calculating the speed from the images that are sent.
6.2.9.1.4 Proceed
Run the test cases to see if the differences between the images are correctly found.
6.2.9.1.5 Measure
Measurement depends on the outputs of the system.
6.2.9.1.6 Shut Down
During the testing, if any errors or failures occur, testing will be suspended.
6.2.9.1.7 Restart
If there will be an error during testing, in that suspended period, errors are checked and after
that, testing restarts.
6.2.9.1.8 Stop
After testing finalizes, testing will stop.
6.2.9.1.9 Wrap Up
If the calculated velocity is wrong ( not the same with the car’s speed), we will be checking it
once again untill we get correct result.
6.2.10 Database Connection
6.2.11 Test procedure Specification Identifier
6.2.12 Purpose
To show the procedures and testing process is the main purpose.
6.2.13 Special Requirements
Tester should have knowledge about C#, C++, Oracle and Visual Studio to use also the
testing tools for testing.
6.2.14 Procedure Steps
6.2.14.1.1 Log
We don’t have logging in our system for any device.
6.2.14.1.2 Set Up
Set the database for to get information from server and to use in the future for our web page.
6.2.14.1.3 Start
After starting to calculate the speed of cars, speed, time/date, location of the cameras will be
kept in the database for later usage for the web page.
6.2.14.1.4 Proceed
Run the test cases to see if the differences between the images are correctly found.
6.2.14.1.5 Measure
Measurement depends on the outputs of the system.
6.2.14.1.6 Shut Down
During the testing, if any errors or failures occur, testing will be suspended.
6.2.14.1.7 Restart
If there will be an error during testing, in that suspended period, errors are checked and after
that, testing restarts.
6.2.14.1.8 Stop
After testing finalizes, testing will stop.
6.2.14.1.9 Wrap Up
If the information in database are wrong, we will be trying to check the knowledge transition
between server – database and database – web page.
6.2.15 RF Communication
6.2.16 Test procedure Specification Identifier
6.2.17 Purpose
To show the procedures and testing process is the main purpose.
6.2.18 Special Requirements
Tester should have knowledge about C#, C++, Oracle and Visual Studio to use also the
testing tools for testing.
6.2.18 Procedure Steps
6.2. 18.1.1 Log
We don’t have logging in our system for any device.
6.2. 18.1.2 Set Up
Set the signboard up while seting up the connection between the server as well.
6.2. 18.1.3 Start
It is checked that if the signal which is sent by server to the signboard is correct/relevant
depending on the calculated speed or not.
6.2. 18.1.4 Proceed
Run the test cases to see if the differences between the images are correctly found.
6.2. 18.1.5 Mesaure
Measurement depends on the outputs of the system.
6.2. 18.1.6 Shut Down
During the testing, if any errors or failures occur, testing will be suspended.
6.2. 18.1.7 Restart
If there will be an error during testing, in that suspended period, errors are checked and after
that, testing restarts.
6.2. 18.1.8 Stop
After testing finalizes, testing will stop.
6.2. 18.1.9 Wrap Up
If the signal on the signboard is wrong, that means we have a problem with our RF
communucation. We will check this to try to have the correct signal flow between the server
and the signboard.
6.2.19 Web page
6.2.20 Test procedure Specification Identifier
6.2.21 Purpose
To show the procedures and testing process is the main purpose.
6.2.22 Special Requirements
Tester should have knowledge about C#, C++, Oracle and Visual Studio to use also the
testing tools for testing.
6.2.22 Procedure Steps
6.2. 22.1.1 Log
Our users do not need to log in to our web page, they are just needed to enter our web site.
6.2. 22.1.2 Set Up
Setting up the web page depending on the information flow from the database (speed
calculated in server will be sent to the web page as well).
6.2. 22.1.3 Start
It is checked that if the signal which is sent by server to the signboard is correct/relevant
depending on the calculated speed or not.
6.2. 22.1.4 Proceed
Run the test cases to see if the differences between the images are correctly found.
6.2. 22.1.5 Measure
Measurement depends on the outputs of the system.
6.2. 22.1.6 Shut Down
During the testing, if any errors or failures occur, testing will be suspended.
6.2. 22.1.7 Restart
If there will be an error during testing, in that suspended period, errors are checked and after
that, testing restarts.
6.2. 22.1.8 Stop
After testing finalizes, testing will stop.
6.2. 22.1.9 Wrap Up
If there will be an error on the web page, we will fix it by checking the information flow
between server – database, database – web page.
Appendix
March April May
1.Week 2.Week 3.Week 4.Week 1.Week 2.Week 3.Week 4.Week 1.Week 2.Week 3.Week 4.Week
Part Start Finish
Test Plan
Prepeare Test Plan 13.03.2011 16.03.2011
Prepeare Test Case Spec. 16.03.2011 17.03.2011
Prepeare Test Procedure Spec. 17.03.2011 18.03.2011
Frame Substraction Module
Motion Detection 18.03.2011 19.03.2011
Get Frame 20.03.2011 22.03.2011
Minimize Noise 23.03.2011 25.03.2011
Velocity Calculation Module
Number of Frames 25.03.2011 28.03.2011
Calculation Velocity 29.03.2011 03.04.2011
Base Condition 03.04.2011 07.04.2011
Database Connection Module
Date&time 07.04.2011 09.04.2011
Number of Cars 10.04.2011 12.04.2011
Velocity of Cars 13.04.2011 15.04.2011
SignBoard Control 15.04.2011 18.04.2011
Ip of Cameras 19.04.2011 22.04.2011
Ip of SignBoard 23.04.2011 26.04.2011
RF Communication Module
RF Signal for Input 27.04.2011 03.05.2011
RF Signal for Output 05.05.2011 09.05.2011
Web Page Module
Admin Log in Failure 10.05.2011 12.05.2011
Search for Users 13.05.2011 15.05.2011