Upload
bhavanesh-asar
View
236
Download
3
Tags:
Embed Size (px)
Citation preview
2
3
Document Revision History
Version Date Changed By Items Changed Since Previous Version
1.0 25th March
2014
Bhavnesh
Asar
Initial Version
4
Table of Contents
1 Project Overview............................................................................................................................. 6
2 Project scope .................................................................................................................................. 7
3 SRS ................................................................................................................................................ 8
3.1 System Requirements ............................................................................................................. 8
3.2 Functional Requirements Specification .................................................................................... 8
4 Cost estimation ............................................................................................................................. 12
5 Software Design ........................................................................................................................... 14
5.1 Introduction ............................................................................................................................ 14
5.2 Application and Function ....................................................................................................... 14
5.3 Section 3 System Behavior I ............................................................................................... 15
6 Code ............................................................................................................................................. 17
7 Screen Shots ................................................................................................................................ 30
7.1 Onclick Record from table flourishes to input screen. ............................................................ 30
7.2 Change the information on Personal Details screen and click Save button to update details . 31
7.3 Click on Delete button to delete selected record on screen.................................................... 32
7.4 Screen After deleting Record ................................................................................................. 33
7.5 Before Saving New Record .................................................................................................... 34
7.6 New Record Saving ............................................................................................................... 35
7.7 New Record Saved ................................................................................................................ 36
7.8 New Record Saved ................................................................................................................ 37
8 Testing .......................................................................................................................................... 38
8.1 Document Scope ................................................................................................................... 38
8.2 Scope of Address Book Web Application Test ...................................................................... 38
8.3 Address Book Web Application Test Boundary ..................................................................... 39
8.4 Address Book Web Application Test Phases ........................................................................ 39
8.5 Address Book Web Application Test Timeline ....................................................................... 40
8.6 Test Scenarios ....................................................................................................................... 40
8.7 Exit Criteria for Test Model .................................................................................................... 41
8.8 Entry Criteria to Detailed Test Preparation ............................................................................. 41
8.9 Input Scripts .......................................................................................................................... 42
8.10 Expected Results ............................................................................................................... 42
8.11 Exit Criteria to Detailed Test Preparation ........................................................................... 43
8.12 Test Execution ................................................................................................................... 43
5
8.13 Entry Criteria to Test Execution .......................................................................................... 44
8.14 Report and Fix Defects....................................................................................................... 45
8.15 Re-testing Scenarios .......................................................................................................... 45
8.16 Exit Criteria to Test Execution ............................................................................................ 45
8.17 Address Book Web Application Test Closure Report has been signed off .......................... 46
8.18 Test Script: ......................................................................................................................... 47
9 Maintainance Adaptation .............................................................................................................. 50
10 Biblography ................................................................................................................................... 50
6
1 Project Overview
What is this Project about?
This project is provide the facility to manage Address book. An address book or a name and address
book (NAB) is a book or a database used for storing entries called contacts. Each contact entry usually
consists of a few standard fields (for example: first name, last name, company
name,address, telephone number, e-mail address, fax number, mobile phone number). Most such
systems store the details in alphabetical order of people's names, although in paper-based address
books entries can easily end up out of order as the owner inserts details of more individuals or as
people move. Many address books use small ring binders that allow adding, removing and shuffling of
pages to make room.
This application is designed to store related data in Internet Browser. It can be accessed via Internet
Explorer, Chrome and many other.
7
2 Project scope
This software system will be a Address Book Maintainance System for user who is looking for way to
manage all the contact. This system will be help user to maintain all the contact with various details like
First Name ,Last Name, Email, Cell Phone, Home Phone, Office Phone, Birthday, Home Address,
Office Address.
An online address book typically enables users to create their own web page (or profile page) which is
then indexed by search engines like Google and Yahoo. This in turn enables users to be found by other
people via a search of their name and then contacted via their web page containing their personal
information. Ability to find people registered with online address books via search engine searches
usually varies according to the commonness of the name and the amount of results for the name.
Typically users of such systems can synchronize their contact details with other users that they know to
ensure that their contact information is kept up to date.
8
3 SRS
3.1 System Requirements
The Address Book System has one active actors and one cooperating system. The user acces the
application through the Internet. User can add new contact, edit existing contact or Delete the contact.
User can also reset the screen to clear the data in the form.
3.2 Functional Requirements Specification
This section outlines the use cases for each of the user separately. The User has four use case in
system
3.2.1 Add New Contact User Case
Use case: Add New Contact
Diagram:
WebBrowser DB
Maintain Address Book
Address Book System
User
9
Brief Description
The User access Address Book on Internet Browser and add new Contact to the Address Book. This
new contact will be saved in Browser Database.
Initial Step-By-Step Description
Before this use case can be initiated, the user has already accessed the Address Book System
Website. If any record already exist in Database, it will be displayed in the grid.
1. ID is auto Generated.
2. Enter details as First Name ,Last Name, Email, Cell Phone, Home Phone, Office Phone,
Birthday, Home Address, Office Address.
3. Once all the value is entered, click on save.
4. Newly added record should be visible in Grid as last record.
3.2.2 Edit Contact User Case
Use case: Edit Contact
Diagram:
User
Add New Contact
10
Brief Description
The User access Address Book on Internet Browser and Edit new Contact to the Address Book. Edited
contact will be updated in Browser Database.
Initial Step-By-Step Description
Before this use case can be initiated, the user has already accessed the Address Book System
Website. If any record already exist in Database, it will be displayed in the grid.
1. Click on Contact record to Edit.
2. Currently selected record data will be populated on the screen.
3. ID cant be changed as its a system generated.
4. Make changes as required First Name ,Last Name, Email, Cell Phone, Home Phone, Office
Phone, Birthday, Home Address, Office Address.
5. Once all the required information updated, click on save.
6. Recently updated record should be visible in Grid with updated details.
3.2.3 Delete Contact User Case
Use case: Delete Contact
Diagram:
User
Edit Contact
11
Brief Description
The User access Address Book on Internet Browser and Delete Contact to the Address Book. Deleted
contact will be removed from Browser Database and will not appear in the Grid.
Initial Step-By-Step Description
Before this use case can be initiated, the user has already accessed the Address Book System
Website. If any record already exist in Database, it will be displayed in the grid.
1. Single Click on Contact record to Delete.
2. Currently selected record data will be populated on the screen.
3. Click on Deleted.
4. Recently deleted record should be removed from Grid.
5. Deleted ID will not be reused.
3.2.4 Reset Page Content User Case
Use case: Reset Page Content
Diagram:
User
Delete Contact
12
Brief Description
The User access Address Book on Internet Browser.
Initial Step-By-Step Description
Before this use case can be initiated, the user has already accessed the Address Book System
Website or the AddressBook.html in chrome browser. If any record already exist in Database, it will be
displayed in the grid. Use has already entered values in the fields on the screen.
1. Click on Reset.
2. All the values on the screen will be removed from the fields. No changes will be capture to the
Database.
4 Cost estimation
Cost Estimation for this project is done using Simple Medium Complex (SMC) technique in which
assumpstion value is considered for each complexity and linked to number of hours taken to complete
the task and phase in the project the complexity is assigned to each task in WBS (Work breakdown
structure) which required to be coded in the project and percentage of phases are calucated based on
actual hours of code. Which is show in the below tables.
Activity Category Effort Hours
Simple 2
Medium 3
Complex 6
User
Reset Page Content
13
The above table shows the different categories of complexities and number of effort hours assigned to
them.
` Complexities Description Manhours
Create Database Simple 2
Create Table Simple 2
Design UI Simple 2
Coding Click on detail to flourish Screen Simple 2
coding Click on Save to save new record or update existing record Medium 3
coding click to delete record Simple 2
Coding to reset the screen Simple 2
Total 15
The above table shows the list of task in WBS(Work Breakdown Structure) to complete the project and
complexities assigned to them along with hours and the the total man hours required to complete the
project.
Activity
Standard Work Effort in% Actual Effort In Hours
Numer of people
Business Requirements 6% 2.25 1
Functional Specifications 10% 3.75 1
Detailed Design 14% 5.25 1
Code and Unit Test 40% 15 1
System Testing 20% 7.5 1
User Acceptance Testing 10% 3.75 1 Total Effort 100% 37.5
The above table shows the effert required to complete different phases of project on base effort
required to code the project code the project.
14
5 Software Design
5.1 Introduction
AddressBook project is all about storing & managing personal detail contacts using single code in
offiline and online situation where user need not worry about his status for being connected to network
or being disconnected for its utility purpose
5.2 Application and Function
Figure 1. Overall Class Diagram
Figure 1. shows the overall class diagram for main AddressBook system component, and all its
functions
A. clearTable is a method that cleans all the record from display list after any method is executed
like update or delete.
Commented [ba1]:
15
B. createdb is a method the create database in the chrome browser for first time the application
executes on a particular system.
C. delrecord is method that deletes the record from database table.
D. insertinto is method that inserts record to database table.
E. insertrow method add record from database table to UI (user interface )table.
F. mouseout event method changes color of UI table back to normal color
G. mousover event method changes color of row to yellow when mouse courser is over a
particular row
H. selectall fetches all row from database table and adds it to UI table by insertrow method
I. update method record is updated or inserted depending on state of row whether its new record
or existing record
J. updaterecord method update information to existing record
K. rowclick event method flourishes record from UI table to display form
L. createtable method create new table on first time the database is created
5.3 Section 3 System Behavior I
When the user interact with the Web application for the first time in chrome browser the web
application checks for the database and database table for their existence if it exist it just creates
connection object else it creates database and table in the chrome browser which are of persistence
by nature and also create a connection object to the database which is kept alive till the lifetime of
browser tab for executing various task like inserting ,updating and deleting rows from database table.
To insert row user has to just type the contact information in the clear data entry from and press save
button which will pop up an alert box saying Data Saved . After that user can change the details of the
16
inserted by clicking on the row of the list table and data will flourish in the personal detail form where
user can make changes to data and again click the save button which will prompt the alert box display
data saved
17
6 Code
var db;
createdb();
createtable();
function createdb() {
db = openDatabase('dbCustomer', '1.0', 'Customerapp', 2 * 1024 * 1024, function (database) {
alert("database creation callback"); });
}
function createtable() {
var sql = 'Create table if Not Exists AddressBook( ID INTEGER PRIMARY KEY
AUTOINCREMENT,FirstName text,LastName text,Email text,CellPhone text,HomePhone
text,OfficePhone text,Birthday DATETIME,HomeAddress text,OfficeAddress text)';
db.transaction(function (tx) {
tx.executeSql(sql, []);
});
}
function insertinto() {
db.transaction(function (tx) {
18
var firstname = document.getElementById('FirstName').value;
var lastname = document.getElementById('LastName').value;
var email = document.getElementById('Email').value;
var cellphone = document.getElementById('CellPhone').value;
var homephone = document.getElementById('HomePhone').value;
var officephone = document.getElementById('OfficePhone').value;
var birthday = document.getElementById('Birthday').value;
var homeaddress = document.getElementById('HomeAddress').value;
var officeaddress = document.getElementById('OfficeAddress').value;
var sql = 'INSERT INTO
AddressBook(FirstName,LastName,Email,CellPhone,HomePhone,OfficePhone,Birthday,HomeAddress
,OfficeAddress) VALUES("';
sql = sql + firstname + '", "' + lastname + '","' + email + '","' + cellphone + '","'+ homephone +'","'
+ officephone +'","' + birthday + '","';
sql = sql + homeaddress + '","' + officeaddress + '")';
tx.executeSql(sql);
});
}
function insertrow(item) {
var table = document.getElementById('datalist');
var numberofrows = table.rows.length;
var row = table.insertRow(numberofrows);
row.setAttribute("onclick", "rowclick(this);");
row.setAttribute("onmouseover", "mouseover(this);");
19
row.setAttribute("onmouseout", "mouseout(this);");
// .onclick = rowclick(this);
row.insertCell(0).innerHTML = item.ID;
row.insertCell(1).innerHTML = item.FirstName;
row.insertCell(2).innerHTML = item.LastName;
row.insertCell(3).innerHTML = item.Email;
row.insertCell(4).innerHTML = item.CellPhone;
row.insertCell(5).innerHTML = item.HomePhone;
row.insertCell(6).innerHTML = item.OfficePhone;
row.insertCell(7).innerHTML = item.Birthday;
row.insertCell(8).innerHTML = item.HomeAddress;
row.insertCell(9).innerHTML = item.OfficeAddress;
}
function updaterecord() {
alert("database creation callback"); });
var id = parseInt(document.getElementById('id').value);
var firstname = document.getElementById('FirstName').value;
var lastname = document.getElementById('LastName').value;
var email = document.getElementById('Email').value;
var cellphone = document.getElementById('CellPhone').value;
var homephone = document.getElementById('HomePhone').value;
var officephone = document.getElementById('OfficePhone').value;
var birthday = document.getElementById('Birthday').value;
var homeaddress = document.getElementById('HomeAddress').value;
var officeaddress = document.getElementById('OfficeAddress').value;
20
var sql = 'update AddressBook set FirstName="' + firstname + '",LastName="' + lastname +
'",Email="' + email + '",CellPhone="' + cellphone + '",HomePhone="';
sql = sql + homephone + '",OfficePhone="' + officephone + '",Birthday="' + birthday +
'",HomeAddress="' + homeaddress + '",OfficeAddress="' + officeaddress;
sql = sql +'" where id='+id;
db.transaction(function (tx) {
tx.executeSql(sql);
});
}
function delrecord() {
alert("database creation callback"); });
var id = parseInt(document.getElementById('id').value);
var sql = 'delete from AddressBook where id='+ id;
db.transaction(function (tx) {
tx.executeSql(sql);
});
selectall();
alert('Record Deleted');
location.reload();
21
}
function selectall() {
var table = document.getElementById('datalist');
if (table != null) {
clearTable();
}
alert("database creation callback"); });
db.transaction(function (tx)
{
tx.executeSql('SELECT * FROM AddressBook', [], A, null);
});
}
selectall();
function clearTable() {
var table = document.getElementById('datalist')
table.rows.length;
for (i = document.getElementById('datalist').rows.length-1; i > 0 ; i--) {
document.getElementById('datalist').deleteRow(i);
}
}
function A(tx, results) {
22
//document.querySelector('#customer').innerHTML = "";
//document.querySelector('#customer').innerHTML = "ID,Customer Name,Country"+"";
var r=results.rows.length;
for (i = 0; i < r; i++)
{
var item = results.rows.item(i);
insertrow(item)
// msg = results.rows.item(i).id + "," + results.rows.item(i).customername + "," +
results.rows.item(i).country + "";
//document.querySelector('#customer').innerHTML += msg;
}
}
function update() {
var isvalid = document.getElementById("FirstName").validity.valid;
if (isvalid== false) {
return;
}
var id = document.getElementById('id').value;
if (id.trim().length > 0) {
updaterecord()
alert('Data Updated');
}
23
else {
insertinto();
alert('Data Saved');
}
selectall();
document.forms[0].reset();
}
function mouseover(obj) {
obj.style.backgroundColor = '#ffff66';
obj.style.cursor="pointer";
}
function mouseout(obj) { obj.style.backgroundColor = '#d4e3e5'; }
function rowclick(obj) {
var check=obj.cells;
if (check != undefined) {
document.getElementById('id').value = obj.cells[0].innerHTML
document.getElementById('FirstName').value = obj.cells[1].innerHTML;
document.getElementById('LastName').value = obj.cells[2].innerHTML;
document.getElementById('Email').value = obj.cells[3].innerHTML;
document.getElementById('CellPhone').value = obj.cells[4].innerHTML;
document.getElementById('HomePhone').value = obj.cells[5].innerHTML;
document.getElementById('OfficePhone').value = obj.cells[6].innerHTML;
24
document.getElementById('Birthday').value = obj.cells[7].innerHTML
//formatdate(x);
document.getElementById('HomeAddress').value = obj.cells[8].innerHTML;
document.getElementById('OfficeAddress').value = obj.cells[9].innerHTML;
}
// alert();
}
table.alternate_color tr:nth-child(even) td{
color:white;
}
table.hovertable {
font-family: verdana,arial,sans-serif;
font-size:11px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
}
table.hovertable th {
25
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
table.hovertable tr {
background-color:#d4e3e5;
}
table.hovertable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
26
ID
First Name
Last Name
Cell Phone
Home Phone
Office Phone
Birthday
Home Address
Office Address
Personal Details
27
ID
First Name
Last Name
Email Name
Cell Phone
Home Phone
28
Office Phone
Birth Date
Home Address
Office Address
29
30
7 Screen Shots
7.1 Onclick Record from table flourishes to input screen.
31
7.2 Change the information on Personal Details screen and click Save button to update
details
32
7.3 Click on Delete button to delete selected record on screen
33
7.4 Screen After deleting Record
34
7.5 Before Saving New Record
35
7.6 New Record Saving
36
7.7 New Record Saved
37
7.8 New Record Saved
38
8 Testing
8.1 Document Scope
The scope of this document is to define the structure, scope and processes of the tests that will be
executed during the Address Book Web Application Test phase of the project.
This document describes the following:
Scope of Address Book Web Application Test
Overview of the Test Model definition, including the outline of Test Cycles and Sub-cycles
Overview of the Test Preparation and Test Execution phases
Overview of the processes that will be adopted during Test Preparation and Test Execution
phases
High level definition of the Address Book Web Application Test Environment and Test Tools
8.2 Scope of Address Book Web Application Test
The aim of Address Book Web Application Test is to test that the Application delivers the functionality
as described in the Use Case documents. This will be achieved by defining an Address Book Web
Application Test Model capturing all the Test Conditions and Test Scenarios which will prove the
integrity of the Application as described in the Use Case documents and executing the Test Model
against the application code.
The signed-off business requirements are mapped to the signed-off Use Cases. The Use Cases will
therefore be the primary source for the definition of the Address Book Web Application Test Model.
Traceability of Business requirements to Use Cases is defined in the AP201 Requirements and
Traceability deliverable. Similarly, traceability of Use Cases will be provided to Test Conditions,
eventually allowing traceability from Business requirements through to Test Scripts.
Address Book Web Application Test for the system will not include the following:
1. Contact Listing
2. Adding New Contact
3. Delete existing Contact
4. Updatd Existing Contact
39
The objectives of this testing phase are as follows:
1. To confirm that the application meets the business requirements as detailed in the use case
model
2. To ensure that system configurations are correct and complete as per business requirements
3. To ensure that business processes integrate effectively and efficiently
4. Validate work-flows derived to support business requirements
5. To confirm that all required Address book Web Application as per the business requirements
6. To ensure that the project managers and process owners have adequate and accurate data
from which to make decisions regarding implementation.
8.3 Address Book Web Application Test Boundary
The diagram below outlines the functional scope boundary for Address Book Web Application test and
illustrates the interface points.
8.4 Address Book Web Application Test Phases
The Address Book Web Application Test phase will be split into three distinct phases as follows:
8.4.1 Test Model
This will include:
Test Model including Test Scenarios and Test Conditions.
WebBrowser DB
Maintain Address Book
Address Book System
User
40
8.4.2 Detailed Test Preparation
Detailed test preparation including Test Scripts and Expected Results for all Address Book
Web Application tests.
8.4.3 Test Execution
This will include:
i. Contact Listing
ii. Adding New Contact
iii. Delete existing Contact
iv. Updatd Existing Contact
No Fatal, No Functional and Clean runs of the Test Scripts created in detailed test
preparation. Tests will involve the comparison of the actual and expected results for all
Address Book Web Application tests.
8.5 Address Book Web Application Test Timeline
8.6 Test Scenarios
Test Scenarios will be developed following the completion of the Test Conditions. The Test
Scenarios will group those Test Conditions with common inputs.
When formulating Test Scenarios, it will be the responsibility of the Test Team Leads to
ensure that the Test Scenarios provide the right balance of efficiency in Test Condition
coverage against creating Scenarios that become too large to manage. Assessing too many
Test Conditions in one Scenario will increase the amount of logical branches being tested
within the Application. A highly complex scenario will also make issue identification and
resolution more difficult. Conversely, a high granularity of Test Scenarios results in a
proliferation of input scripts and data to be prepared.
The Input Data information being passed on to the system during the testing should vary and
be more production-like.
Test Scenarios will be documented with the following detail:
High-Level Sub-Cycles that the Test Scenario sits under;
Test Conditions, Use Case sections and business requirements mapped to the Test
Scenario;
41
Identification of the type of Input Functions that the Test Scenario requires / uses;
Input Messages required to meet the Test Conditions;
Reference data changes (e.g. Company Name update or Auto Approve rule changes.)
required to test the Conditions appropriately.
Functional outcomes to be tested (e.g. UI Messages, Table updates, and Output data/files
to external systems).
8.7 Exit Criteria for Test Model
The following Exit Criteria need to be met for the completion of the Test Model.
Traceability of Use Cases to Address Book Web Application Test Conditions has been
defined
Each Test Condition has been mapped to a Test Scenario
Note: A Test Condition can get tested in more than one Scenario but should still be mapped
to a single Scenario only.
All Test Model spreadsheets and overview documents have been checked into the correct
Micorsoft Team Foundation Server repository
Address Book Web Application Test Model has been signed off.
The Address Book Web Application Test Model will encompass the detailed Test Scenarios
and Test Conditions for each Sub-Cycle. Sign-off of the Test Model is required in order to
agree the detailed scope of the Address Book Web Application Test.
Common test Data created
Common Test data to be used in detailed Test Preparation will be created from the test data
provided by the client.
8.8 Entry Criteria to Detailed Test Preparation
The following Entry Criteria need to be met for the commencement of Detailed Test Preparation:
Test tool input templates defined
42
Test Preparation Guidelines and Principles have been defined and communicated
Detailed preparation guidelines and templates are required in order to ensure consistency
across the test preparation and compatibility with the Test Toolset. Note: Any deviations to
this should be agreed and documented as part of the Test Pack.
Use Cases completed and baselined
Input Scripts and Expected results comprise large volumes of message and database table
data.
Common Test Data created and baselined
This will be used as input to the test scenarios in the detailed test preparation. The data will
need to include references to a range of permutations of announcements that require
Address Book Web Application testing. Third party common test data provided as entry
criteria to Test Model definition will be included in this data set.
8.9 Input Scripts
The Input Scripts will comprise the following elements:
Amendments to be applied over and above the Common Test Data in order to establish a
certain condition;
This information will have been provided in the Test Scenario in a prose format. The Input Script will
specify the specific data elements which will be read by the Test Execution Tool in order to execute the
Test and the required steps/actions to execute the scenario.
8.10 Expected Results
Each Input Script will require a set of Expected Results that will be assessed against actual test output
during the Test Execution phase.
The Expected Results will be derived primarily from the Use Cases. However, Test Team Leads will
validate all Expected Results, against other sources where further confirmation or validation against the
Use Cases, Business Requirements and Solution Designs is required.
43
The Expected Results will be documented in a standard template that will detail each event by output
type in the correct sequence. They will not be documented with inter-linked outputs in an attempt to
predict the order the system will perform actions, as these actions may run concurrently and will be
almost impossible to predict which event will occur first. Table writes will be validated by confirming that
the data present in the table matches the expected results.
8.11 Exit Criteria to Detailed Test Preparation
The following Exit Criteria are required for the completion of Detailed Test Preparation:
Address Book Web Application Test Model has been updated to reflect agreed Change
Request and/or to resolve any issues identified during Detailed Test Preparation
Resolution of issues and functional change requests identified during the course of
Detailed Test preparation must be agreed with the Test Manager and implemented in the
Test Model documentation.
Common Test data has been updated to reflect agreed changes and to resolve any
issues identified during Detailed Test Preparation
The common test data is updated to reflect changes identified in detailed test preparation.
Completion of the Test Preparation Packs for each individual sub-cycle
Input Scripts and Input data created during Detailed Test Preparation must be available to
the Test Execution Team.
All Test Scripts and related data files have has been checked into the correct Micorsoft
Team Foundation Server repository
A file structure will be created in Micorsoft Team Foundation Server which reflects the test
model structure. As the test script documents will comprise multiple spreadsheets and
data files, it important that they are correctly labelled and added to the correct repository
folders.
8.12 Test Execution
All tests will be executed by the Test Execution team according to the test schedule and there will be no
formal test executions by client staff. The execution schedule and test packs will be made available to
the client and they may choose to observe the execution of any test Sub-Cycles as required. This
would be particularly appropriate for Clean executions. Test cycles will be re-executed only for
regression purposes i.e. successful tests will not be re-executed.
44
Test Execution will follow a three-pass approach as follows:
Pass 1 - No Fatal
The aim of Pass 1 No Fatal is to drive out all issues which prevent the script from being
executed in full. A No Fatal pass can be considered complete when all steps in the
cycle can be executed.
Pass 2 - No Functional
The aim of Pass 2 No Functional is to drive out all functional issues. During the No
Functional pass, the cycle has executed and expected results meet actual results.
Released code, but with added patches can be used for this cycle.
Pass 3 - Clean
After completing the Clean pass, there are no discrepancies between expected and
actual results.
8.13 Entry Criteria to Test Execution
The following Entry Criteria are required prior to the commencement of Test Execution:
Completion of Architecture and Application Build
Completion of Application and Architecture Build will be recorded in the Completion
Reports issued for each phase. They will note the completion of Build, Unit and Assembly
Test; Smoke Test
Completion of Smoke test validating the Address Book Web Application test environment
and end to end pipecleaning test cycles as agreed
Build Verification test should be complete
The build which is released for testing should have undergone a complete verification test
which will include:
Environment stability
Database updates
Field validations and formatting
45
Completion of the Test Preparation Packs for each individual sub-cycle
Input Scripts and Data files created during Detailed Test Preparation must be available to
the Test Execution Team
Test Execution Tool is available and pre-loaded with all test scripts from the Test
Preparation Packs
Address Book Web Application Test Environment available
The Address Book Web Application test environment is available for execution.
8.14 Report and Fix Defects
During the testing, defects will be logged by the Tester in Microsoft Team Foundation and will
be assigned to appropriate Developer. Once, developer fix it, it will be ready for retest and
assigned back to same tester for retest.
8.15 Re-testing Scenarios
Any Scenario that fails an execution pass will be retested once the necessary amendments have
been made to the test script and the fixes for the associated defects have been completed. All
Test Scenarios that are held within that Sub-Cycle must also be regression tested, even if they
have previously had a clean pass.
8.16 Exit Criteria to Test Execution
The following Exit Criteria are required for the completion of Test Execution:
All defects have been closed
It will not be possible to complete sub-cycles where there are open defects associated,
with the exception of minor defects. The status and impact of the minor defects will be
documented and agreed through the Address Book Web Application Test Closure
Report;
A clean execution pass has been achieved for all Address Book Web Application
Test scenarios
An updated Test Pack containing the actual results for clean execution passes must be
completed for each Sub-Cycle;
46
All Address Book Web Application Test Scripts should be ready for the Regression
Suite
Address Book Web Application Test Scripts should be complete is all aspects ready to be
picked up by the Regression Suite which also ensures that automated regression test
capability is delivered;
Address Book Web Application Test Packs have been completed
It is expected that some of the issues raised during Address Book Web Application test
Execution will be resolved through update of the input scripts and/or data. The final
versions of all test documentation must be correctly labelled and added to the correct
repository folders;
All Change Requests which impact the application functionality must be
implemented in Address Book Web Application Test Model
All changes requests which have been open during Address Book Web Application Test
must be fully impacted and implemented against the Functional Test Model. It is
expected that a Change Freeze will be imposed before the end of Address Book Web
Application Test Execution in order to accommodate this.
8.17 Address Book Web Application Test Closure Report has been signed off
47
8.18 Test Script:
8.18.1 Add New Contact Test Case
# Test Condition Exected Result Actual Result
1 ID is auto Generated Id Generated
2 Enter details as First Name ,Last
Name, Email, Cell Phone, Home
Phone, Office Phone, Birthday,
Home Address, Office Address.
User is able to
enter all
3 Once all the value is entered, click on
save.
Data is saved
4 Newly added record should be visible
in Grid as last record.
Newly added
record displayed in
grid.
8.18.2 Edit Contact Test Case
# Test Condition Exected Result Actual Result
1 Click on Contact record to Edit.
User is able to
select the record.
2 Currently selected record data will be
populated on the screen. .
Selected record
data is populated
on the Personal
Details Screen.
3 ID cant be changed as its a system
generated.
User is not able to
change the ID field
value.
4 Make changes as required First
Name ,Last Name, Email, Cell
Phone, Home Phone, Office Phone,
Birthday, Home Address, Office
Address.
User is able to
make the chages.
48
5 Once all the required information
updated, click on save.
User is able to click
on save to save
date. Gets the
confirmation
message.
6 Recently updated record should be
visible in Grid with updated details
Verify grid if data
has been updated
as per the changes.
8.18.3 Delete Contact Test Case
# Test Condition Exected Result Actual Result
1 Single Click on Contact record to
Delete.
User is able to
select the record.
2 Currently selected record data will be
populated on the screen
Selected record
data is populated
on the Personal
Details Screen.
3 Click on Deleted.
User is able to click
on delete button.
Record is deleted
and user gets
popup up on
deletion.
4 Recently deleted record should be
removed from Grid.
Verify the record
does not exist on
the grid any longer.
5 Deleted ID will not be reused. Verify Deleted
record id is not
assigned to new
record.
49
8.18.4 Reset Page Content Test Case
# Test Condition Exected Result Actual Result
1 Click on Reset. User is able to click
on Reset button.
2 All the values on the screen will be
removed from the fields. No changes
will be capture to the Database.
Personal Details
screen is cleaned
up.
50
9 Maintainance Adaptation
The system can be further enhance to add more features like adding multiple email address, multiple
phone number, home address, office address. Also system can be integrated to email service provider
and can be use for contact maintainance. The next phase of this project will be to add some more
features as mentioned above.
10 Biblography
http://www.igi-global.com/chapter/effort-estimation-model-each-phase/62445
http://webapps.6te.net/HowtoPrepareSoftwareQuotations.pdf
http://www.w3schools.com/html/html5_intro.asp