Escolar Documentos
Profissional Documentos
Cultura Documentos
Version
Date
Changed By
1.0
25th March
Bhavnesh
Initial Version
2014
Asar
Table of Contents
1
Project Overview............................................................................................................................. 6
SRS ................................................................................................................................................ 8
3.1
3.2
6
7
5.1
Introduction ............................................................................................................................ 14
5.2
5.3
Code ............................................................................................................................................. 17
Screen Shots ................................................................................................................................ 30
7.1
7.2
Change the information on Personal Details screen and click Save button to update details . 31
7.3
7.4
7.5
7.6
7.7
7.8
Testing.......................................................................................................................................... 38
8.1
8.2
8.3
8.4
8.5
8.6
Test Scenarios....................................................................................................................... 40
8.7
8.8
8.9
8.10
8.11
8.12
8.13
8.14
8.15
8.16
8.17
Address Book Web Application Test Closure Report has been signed off .......................... 46
8.18
10 Biblography................................................................................................................................... 50
Project Overview
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.
SRS
3.1
System Requirements
User
Maintain
Address Book
WebBrowser
DB
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
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
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.
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
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.
10
Delete
Contact
User
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
11
Reset Page
Content
User
Brief Description
The User access Address Book on Internet Browser.
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
Simple
Medium
Complex
Effort Hours
2
3
6
12
The above table shows the different categories of complexities and number of effort hours assigned to
them.
`
Create Database
Create Table
Design UI
Coding Click on detail to flourish
Screen
coding Click on Save to save new
record or update existing record
coding click to delete record
Coding to reset the screen
Complexities
Description
Simple
Simple
Simple
Manhours
2
2
2
Simple
Medium
Simple
Simple
Total
3
2
2
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
Business Requirements
Functional Specifications
Detailed Design
Code and Unit Test
System Testing
User Acceptance Testing
Total Effort
Actual Effort In
Standard Work Effort in% Hours
6%
10%
14%
40%
20%
10%
100%
Numer of
people
2.25
3.75
5.25
15
7.5
3.75
37.5
1
1
1
1
1
1
The above table shows the effert required to complete different phases of project on base effort
required to code the project code the project.
13
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
Commented [ba1]:
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.
14
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.
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.
5.3
When the user interact with the Web application for the first time
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
15
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
16
Code
<!DOCTYPE html>
<!-- CSS goes in the document HEAD or added to your external stylesheet -->
<script>
var db;
createdb();
createtable();
function createdb() {
});
}
function insertinto() {
db.transaction(function (tx) {
17
tx.executeSql(sql);
});
}
function insertrow(item) {
18
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() {
19
}
function delrecord() {
selectall();
alert('Record Deleted');
location.reload();
20
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) {
21
//document.querySelector('#customer').innerHTML = "";
//document.querySelector('#customer').innerHTML = "ID,Customer Name,Country"+"<br>";
var r=results.rows.length;
for (i = 0; i < r; i++)
{
22
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;
23
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();
}
</script>
<style type="text/css">
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 {
24
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;
}
</style>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<table>
<tr>
25
<td>
<table class="hovertable" id="datalist">
<thead >
<tr>
<td>ID</td>
<td>First Name</td>
<td>Last Name</td>
<td>Email</td>
<td>Cell Phone</td>
<td>Home Phone</td>
<td>Office Phone</td>
<td>Birthday</td>
<td>Home Address</td>
<td>Office Address</td>
</tr>
</thead>
</table>
</td>
<td>
<form onsubmit="update();">
<table>
Personal Details
26
<tr>
<td>ID</td>
<td><input type="text" id="id" placeholder="Click Save to Insert Record" /></td>
</tr>
<tr>
<td>First Name</td>
<td>
<input type="text" id="FirstName" placeholder="Enter First Name" required="required"
/></td>
</tr>
<tr><td>Last Name</td>
<td><input type="text" id="LastName" placeholder="Enter Last Name"/></td></tr>
<tr>
<td>Email Name</td>
<td><input type="email" id="Email" placeholder="Enter Email" /></td>
</tr>
<tr>
<td>Cell Phone</td>
<td><input type="tel" id="CellPhone" placeholder="Enter Cell Phone Number"/></td>
</tr>
<tr>
<td>Home Phone</td>
<td><input type="tel" id="HomePhone" placeholder="Enter Home Phone Number"
/></td>
</tr>
27
<tr>
<td>Office Phone</td>
<td><input type="tel" id="OfficePhone" placeholder="Enter Office Phone Number"
/></td>
</tr>
<tr>
<td>Birth Date</td>
<td><input type="date" id="Birthday" value="2014-09-21" /></td>
</tr>
<tr>
<td>Home Address</td>
28
</tr>
</table>
</body>
</html>
29
Screen Shots
7.1
30
7.2
Change the information on Personal Details screen and click Save button to update
details
31
7.3
32
7.4
33
7.5
34
7.6
35
7.7
36
7.8
37
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:
Overview of the Test Model definition, including the outline of Test Cycles and Sub-cycles
Overview of the processes that will be adopted during Test Preparation and Test Execution
phases
8.2
High level definition of the Address Book Web Application Test Environment and Test Tools
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
38
The diagram below outlines the functional scope boundary for Address Book Web Application test and
illustrates the interface points.
User
Maintain
Address Book
WebBrowser
DB
8.4
Test Model
This will include:
39
8.4.2
Detailed test preparation including Test Scripts and Expected Results for all Address Book
Web Application tests.
8.4.3
Test Execution
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
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:
Test Conditions, Use Case sections and business requirements mapped to the Test
Scenario;
40
Identification of the type of Input Functions that the Test Scenario requires / uses;
Reference data changes (e.g. Company Name update or Auto Approve rule changes.)
Functional outcomes to be tested (e.g. UI Messages, Table updates, and Output data/files
to external systems).
8.7
8.8
The following Entry Criteria need to be met for the commencement of Detailed Test Preparation:
Test tool input templates defined
41
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
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.
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.
42
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.
Input Scripts and Input data created during Detailed Test Preparation must be available to
All Test Scripts and related data files have has been checked into the correct Micorsoft
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.
43
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.
Completion of Smoke test validating the Address Book Web Application test environment
and end to end pipecleaning test cycles as agreed
Environment stability
Database updates
44
Test Execution Tool is available and pre-loaded with all test scripts from the Test
Preparation Packs
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;
45
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;
8.17 Address Book Web Application Test Closure Report has been signed off
46
Test Condition
Exected Result
ID is auto Generated
Id Generated
User is able to
enter all
Actual Result
Data is saved
save.
4
Newly added
record displayed in
grid.
Test Condition
Click on Contact record to Edit.
Exected Result
Actual Result
User is able to
select the record.
Selected record
data is populated
on the Personal
Details Screen.
generated.
User is able to
47
on save to save
date. Gets the
confirmation
message.
Test Condition
Exected Result
User is able to
Delete.
Selected record
data is populated
Actual Result
on the Personal
Details Screen.
3
Click on Deleted.
Verify Deleted
record id is not
assigned to new
record.
48
Test Condition
Exected Result
Click on Reset.
Personal Details
screen is cleaned
up.
Actual Result
49
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
50