50

Address Book Project (1) (1).pdf

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

    Email

    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