Please read the whole file completely all the instructions are given in that file
COURSE : SOFTWARE SYSTEM TESTING
INFO-6053 Fall 2017
Project 3
Page 1 of 6
Title INFO-6053 Project 3 – Automated Testing with Selenium
Due Date Monday, January 8th
2018 by 11:59 PM
Submission
To
Project 3 drop box on FOL
Project
Structure
This is a group project. Each group may consist of 3 to 6
members. Each member of a group will receive the same
mark for the project
Marking Scheme
Available
Marks
Item Score
5 Selenium IDE test of add contact form
5 Selenium IDE test of edit contact form
5 Selenium IDE test of error form
10 Selenium Web Driver test of either the edit contact
OR error form (only one of these forms needs to be
tested using Web Driver
)
5 Project report
5 Grammar, spelling, following instructions.
35 Total
Background Information
Your testing team is part of a new company that is developing a set of web-
based applications for home and business use. While none of the
applications are anywhere near ready for release, the development team
has completed its first prototype of the contacts module that will be part of
the core of all of the new applications.
INFO-6053 Fall 2017
Project 3
Page 2 of 6
The company’s management have decided, after investigating a number of
options, that a large portion of the testing of its applications will be done
using the Selenium tool suite. Management have left the decision about
which Selenium tools to the testing team. They have also decided that the
testing team will perform some tests on the contacts prototype for two
purposes:
To assess the current state of the contacts module.
To help the testing team to determine which Selenium tools to
use by performing some automated tests on the prototype.
The prototype of the contacts module consists of the functionality to add,
edit and view contact information via a web interface. While the basic form
structures and page layouts are correct, no CSS has yet been applied to
the pages, although some simple formatting has been put in the HTML tags
to make the pages easier to read. There is no JavaScript on any of the
pages and none is planned for the finished version of this module.
The application consists of 3 main forms, one to add new contacts, one to
edit and existing contact and one to allow the user to correct any data input
errors made while using the other two. The basic layout of all 3 is the same
although the underlying functionality is different. There is also a simple
HTML page that lists all of the data for a selected contact. Another page
displays a list of all contacts and includes buttons for viewing or editing the
details of each contact. A fourth form is used to display the results of
saving/updating the database.
The data gathered and displayed by this module is stored in a single
MariaDB (MySQL equivalent) database table with the following structure
(shown as an SQL table create command):
CREATE TABLE `addresses` (
`addr_id` int(20) NOT NULL AUTO_INCREMENT,
`addr_type` char(10) NOT NULL,
`addr_first_name` varchar(50) DEFAULT NULL,
`addr_last_name` varchar(50) DEFAULT NULL,
`addr_business` varchar(75) DEFAULT NULL,
`addr_addr_line_1` varchar(75) DEFAULT NULL,
`addr_addr_line_2` varchar(75) DEFAULT NULL,
`addr_addr_line_3` varchar(75) DEFAULT NULL,
`addr_city` varchar(50) DEFAULT NULL,
INFO-6053 Fall 2017
Project 3
Page 3 of 6
`addr_region` varchar(50) DEFAULT NULL,
`addr_country` varchar(50) DEFAULT NULL,
`addr_post_code` varchar(20) DEFAULT NULL,
`addr_email_1` varchar(128) DEFAULT NULL,
`addr_email_2` varchar(128) DEFAULT NULL,
`addr_email_3` varchar(128) DEFAULT NULL,
`addr_phone_1_type` varchar(10) DEFAULT NULL,
`addr_phone_1` varchar(25) DEFAULT NULL,
`addr_phone_2_type` varchar(10) DEFAULT NULL,
`addr_phone_2` varchar(25) DEFAULT NULL,
`addr_phone_3_type` varchar(10) DEFAULT NULL,
`addr_phone_3` varchar(25) DEFAULT NULL,
`addr_web_url_1` varchar(128) DEFAULT NULL,
`addr_web_url_2` varchar(128) DEFAULT NULL,
`addr_web_url_3` varchar(128) DEFAULT NULL,
PRIMARY KEY (`addr_id`),
KEY `first_name` (`addr_first_name`),
KEY `last_name` (`addr_last_name`),
KEY `business` (`addr_business`),
KEY `email_1` (`addr_email_1`),
KEY `email_2` (`addr_email_2`),
KEY `email_3` (`addr_email_3`)
)
The database table described above and the input fields on the web forms
are related as follows:
The column names in the database table should be the same
as the corresponding form field’s name and id attributes.
The input fields on the forms should be in the same order as
they appear in the table.
The maximum length of a form field must be the same as the
maximum length of the corresponding table field.
The database field addr_id is never displayed or edited on any
form or page. It may be included on a page as a hidden input
field, although this fields name and/or id attributes are not
required to match the database field name.
The input error form is only displayed when data validation fails on either
the new contact or edit contact form. At this time, data validation checks
INFO-6053 Fall 2017
Project 3
Page 4 of 6
that a least one of the name fields (first name, last name and business)
contains one or more characters; and that at least one of the address,
phone, email, or web site fields contains one or more characters.
Your team’s task is to test the operation of the prototype’s functionality and
report any problems. This testing must be performed using the Selenium
IDE and Selenium Web Driver tools to help your team develop the skills
that will be needed when full product testing begins.
Project Specific Information
1) The web application to be tested and all of the tools necessary are
pre-installed on a Linux virtual machine for VMWare Workstation.
This VM can be downloaded from http://ity-
ftp1.fanshawec.ca/_SST/INFO6053 (only accessible on-campus).
The download file is a zip file, you will need to decompress it before
opening it with VMWare Workstation. The use of 7zip is strongly
recommended. Use the username user and password Linux1 to
access the VM. This user account has sudo access to
administrative commands.
2) Rather than using the Linux VM, you can also install the web pages
and other tools on your own computer if you wish. The file
address_book.zip available from the Project 3 drop box folder
contains the PHP scripts for the web site and an SQL source file for
the database. You will have to install all of the necessary tools and
libraries to perform the project tasks on your system. See the
PowerPoint slides about Selenium for information on the tools that
you will need.
3) The Selenium related PowerPoint slides used in class describe all of
the IDE and Web Driver components necessary to do this project.
There are also many online resources and published books available.
4) The form for adding a new contact has no known errors in it, so you
can use it as a reference for the other two forms.
5) On the Linux VM, the initial page of the application can be loaded
using http://localhost/index.php (or simply http://localhost as it is the
default page).
6) You are NOT required to fix any errors you find.
http://localhost/index.php
http://localhost/
INFO-6053 Fall 2017
Project 3
Page 5 of 6
Project Instructions
1) All tests are to begin by going to the page http://localhost/index.php
(or http://
2) You are to test all 3 data entry forms (add new contact, edit and
existing contact, input error). The input error form is only displayed
when an error occurs while working with one of the other forms.
3) All 3 forms must be tested using the Selenium IDE using an
automated test for each.
4) In addition to the automated IDE tests, either the edit form or the error
form must also be tested using a Web Driver test program. This
program must report all errors found on the form during a single
execution.
5) You are to write a report that:
a. Lists the name and student ID of all team members,
b. Briefly describes the tests performed (no more than 1 page per
test), and
c. Describes, in detail, all errors found during testing.
Submissions
1) You are to submit 3 files to the Project 3 drop box:
a. A Microsoft Word document containing your report,
b. A zip file containing your Selenium IDE tests in the default
HTML format.
c. A zip file containing your Web Driver test code, include both
source and binary files (for Java, *.java and *.class files) and
any project configuration files needed to compile/execute the
test. For example, if you develop your test using Eclipse,
include the entire Eclipse project directory.
2) All files must be submitted prior to the deadline specified at the
beginning of this document.
http://localhost/index.php
http://localhost/index.php
INFO-6053 Fall 2017
Project 3
Page 6 of 6
Hints
1) All known errors are on the edit and error forms.
2) There are no PHP compilation errors
3) The database table is correct.
4) Make sure that all of the test data you use results in distinct values in
each form field so that it is possible to check that output appears in
the right places.
5) Remember that there are many HTML attributes that can appear in
an element on a page, some of which can affect the data input or
output capabilities of an element.
6) Remember that this application is a prototype, there is no
data validation on any of the forms.
Plagiarism
Remember that plagiarism is an academic offense, make sure that your
group does its own work.