Docstoc

Deliverables

Document Sample
Deliverables Powered By Docstoc
					          Deliverables
      -   User must be able to register
              o User must agree to privacy policy before completing reg.
              o Users must confirm email reg. step
              o (Truth tables)


Cluster Assessment – System Testing,
Quality Management
Task 1.

1.1

The software development lifecycle used for this project is the Waterfall model, which is a
sequential design process where each phase of development flows logically from the preceding one.

The identified deliverables include the following:

         Database Connection
         System Login
         Payment Gateway
         User Registration
         Compliance to W3C/WCAG
         Admin. Functionalities e.g. add removal of a product
         Page Rendering time within acceptable limits e.g. one second

1.2 & 1.3

The mandatory system objectives and optional criteria / conditions for the system to be considered
“acceptable” are as per the following test plan:


Test plan ID: TEST001
Test Items
This test plan is intended to perform basic implementation tests on the following deliverables of the
system:

         Database Connection
              o Version 1.0
         System Login
              o Version 1.0
         Payment Gateway
              o Version 1.0
         User Registration
           o Version 1.0
       Compliance to W3C/WCAG
           o XML 1.0 Transitional / WCAG Priority 1
       Admin. Functionalities e.g. add removal of a product
           o Version 1.0
       Page Rendering time
           o Version 1.0

Features to be tested:
Database Connection

The system will connect to a live hosted database the same or similar to the final configuration, via
php internal connection protocols. For the purposes of this testing, testing will refer to A) database
security (IE: Authentication) and B) Database connection stress (Rate of data connections).

System Login

A system login requires the use of a username, a password, and a login Button. A username must be
at LEAST six characters (alphanumeric), and password must be at LEAST eight characters
(alphanumeric) in length. The user must have activated their account via the emailed confirmation
link. The login button is mouse-interactive. The system will receive password in MD5 Encryption for
database checking.

Payment Gateway

The payment gateway is required to create a secure connection to PayPal, and forward the following
Information: Payee Email Address, [Item name, Quantity, and Amount] per item, confirmation code
(for local records), and return address for customer notification. IPN SIMULATOR

User Registration

The system requires the user to enter in a username (at least 2 characters), a password (at least 8
characters), a confirmation password(the same as password), email address, confirmation email
address, along with the provision of a submit button and cancel button. Usernames must not be
duplicate entry. Email addresses are mandatory for password recovery and Email addresses are used
for user validation – registration confirmation.

W3C/WCAG Priority 1.

This website is intended to render data to the webpage compliant with XTHML 1.0 W3C Compliance,
as well as meet Priority 1 WCAG Accessibility standards. Use “Wave” to test for accessibility, (link
found on webaim.org). Levels within accessibility testing, lvl 1 is least complex. Cynthiasays.com is
another alternative.

Admin. Functionalities
website
Testing Approach:
Database Connection:

The system is connected to a database using 1 of 2 methods: Using PHP internal connectivity.

PHP internal connectivity is a tcp connection to the database, with the source host as “localhost” on
it’s database port.

To simulate this connection, we can create a small code snippet to generate connections at a rapid
rate, and time the connection rates to generate an average comparable result.

Our data dictionary refers to our database structure. These data dictionary rules specify the rules for
required format (such as number format), null and not null characters, etc.

A test set of data will be created and verified against our data dictionary to verify database
information is correct

If information entered into the database contains formatting (such as bold, or italic, or changes of
colour) this data is required to be tested to ensure page structure is correct. Only simplistic (non
structural) formatting is permitted in the database.

phpMyAdmin (or another related tool) can be used to execute raw sql on the database. This tool can
be used to check general structure, verify connectivity, verify permissions, etc.

Test stubs will also be created to ensure code created for the system is executed at a sufficient rate
and in the correct manner.



System Login/User Registration.

User registration consists of username, password, confirm password, and email address and confirm
email address. This form must verify user information is valid before information is stored into the
database.

User testing must confirm the forms functionality of verifying valid data (ie: data too long, empty
fields, fields of wrong type) based on data dictionary information, and a basic data test set (truth
table).

User login box can be tested in 2 different ways – firstly, we can manually enter in a test set of data
based on truth table information. Secondly, we are able to create a test stub which will populate the
variables username and password with data, and retrieve a result based on information entered.
This test will also be considered a stress test.

The system is connected to a database using : PHP internal connectivity.

PHP internal connectivity is a tcp connection to the database, with the source hose as “localhost” on
it’s database port.
To simulate this connection, we can create a small code snippet to generate connections at a rapid
rate, and time the connection rates to generate an average comparable result.

Our data dictionary refers to our database structure. These data dictionary rules specify the rules for
required format (such as number format), null and not null characters, etc.

A test set of data will be created and verified against our data dictionary to verify database
information is correct. Passwords are considered encrypted in the database, and therefore when we
read and write password information, we are to work with MD5 passwords.

phpMyAdmin (or another related tool) can be used to execute raw sql on the database. This tool can
be used to check general structure, verify connectivity, verify permissions, etc.

Test stubs will also be created to ensure code created for the system is executed at a sufficient rate
and in the correct manner.

User level has three states of activity. “0” is the initial, unconfirmed state. It changes to “1” when
the user clicks the confirm link sent via email. “2” is the user level state set for admin users and can
be set only by other admin users.

WCAG/W3C Compliance

The mark-up language and formatting styles used are governed by strict standards placed by the
World Wide Web consortium, with reference to ISO/IEC 15445, and ISO 8879. This standard places
strict compliance requirements based on the use of specific mark-up in the pages (such as definition
of document type, etc).

In order for this page to be considered compliant, the web system must fully comply with XML1.0
Transitional standards, as well as be considered compliant with Priority 1 WCAG.

To test this, we will utilise both the W3C Validation service, wave and cynthiasays, a user
accessibility verification tool.
Payment Gateway / Transactions.

User interface elements relate to product quantity and item name. Quantity is the only influenced
User Input element, which will need to be verified for data types.

Connection is from URL request, which submits form data in the following format:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<!-- the CMD is set to _cart to inform Paypal it's a SHOPPING CART -->
<input type="hidden" name="cmd" value="_cart">
<!-- the upload is set to 1 to inform Paypal to keep information related to
 the items purchased. -->
<input type="hidden" name="upload" value="1">
<!-- the business is set to the reciever's paypal information - in this
 case, it's the business account. -->
<input type="hidden" name="business"
 value="steve_1234917148_biz@depictedminds.com">
<!-- This section will be iterated using PHP and information from the
 shopping cart kept locally -->
<!-- This information contains the Item name, the Amount per item, and an
 optional Quantity of the item, if required. -->
<input type="hidden" name="item_name_1" value="Thingamagig">
<input type="hidden" name="amount_1" value="100.00">
<input type="hidden" name="item_name_2" value="Coolthings">
<input type="hidden" name="amount_2" value="2.00">
<input type="hidden" name="quantity_2" value="2" />
QUANTITY IS SET TO 0 TO TEST HERE
<!—The following information is for paypal to return information related to
 the success of the transaction -->
<input type="hidden" name="notify_url"
 value="http://www.depictedminds.com/TBA/Shopping_Test/return.php" />
<!-- This following is the return page for the system to announce the
 success/failure of the transaction.-->
<input type="hidden" name="return"
 value="http://www.depictedminds.com/TBA/Shopping_Test/completed.php" />
<input type="hidden" name="custom" value="ABC123" />
<!-- Lastly, the button that makes it all happen at paypal's side. The
 payment button. -->
<input type="submit" value="PayPal">
</form>


Our data dictionary refers to our database structure. These data dictionary rules specify the rules for
required format (such as number format), null and not null characters, etc.

A test set of data will be created and verified against our data dictionary to verify database
information is correct

To simulate this connection, we can create a small code snippet to generate connections at a rapid
rate, and time the connection rates to generate an average comparable result.

Our data dictionary refers to our database structure. These data dictionary rules specify the rules for
required format (such as number format), null and not null characters, etc.
Sandbox is an available tool to test the connectivity and return information of a real paypal
transaction – this tool also allows you to create and verify transactions based on template paypal
users

Item Pass/Failure Criteria:
Database connection test

ONLY SUB-SET NEEDED. NOT WHOLE RESULT SET.

Servername           Username            Password             Database             Result
Localhost            Root                P4ssw0rd             Db_club              Success
Localhost            Root                                     Db_club              Fail (no password)
Localhost                                P4ssw0rd             Db_club              Fail (no user)
Localhost            Root                P4ssw0rd                                  Fail (no Database)
                     Root                P4ssw0rd             Db_club              Fail (no service)
Localhost            Guest               P4ssw0rd             Db_club              Fail (no access for
                                                                                   guest)


User Login test

Username                   Password                 Submit                    Result
User001                    P4ssw0rd                 TRUE                      Success
User001                                             TRUE                      Fail (no Password)
User001                    P4ssw0rd                                           Fail (no submission)
                           P4ssword                 TRUE                      Fail (no username)
                                                    TRUE                      Fail (no valid data)


User Registration test

Username Password Password Email                     Email   Confirm Confirm Result
                  Confirm                            Confirm email    email
                                                             received user lvl
                                                                      adjust
User002      P4ssw0rd      P4ssw0rd   email@here.com                           Success
User002      P4ssword      Password   email@here.com                           Fail (not
                                                                               confirmed)
User002                    P4ssw0rd   email@here.com                           Fail (not
                                                                               confirmed)
User002                               email@here.com                                      Fail (no
                                                                                          passwords)
U            P4ssw0rd      P4ssw0rd   email@here.com                                      Fail
                                                                                          (username
                                                                                          too short)
User002      P4ssw0rd      P4ssw0rd   email@here                                          Fail (invalid
                                                                                          email)
Payment gateway information test

Cmd                 _cart                         _cart                         _cart
Upload              1                             0                             0
Business            89273487923@paypal.com                                      89273487923@paypal.com
[Item_name_1]       Widget                        Widget                        Widget
[Amount_1]          100.00                        100
[Quantity_1]        1                             1                             1
Notify_url          www.page.com/notify.php       www.page.com/notify.php       www.page.com/notify.php
Return              www.page.com/return.php       www.page.com/return.php       www.page.com/return.php
Custom              ABC123                        ABC123                        ABC123
Result              SUCCESS                       FAIL (no business to pay)     FAIL (no amount)



Environmental Needs
In order to successfully test the application, a webserver is required with the following
minimal configuration:

Software

      Web server: Apache 2.0 or above (we are using Apache 3.0)
      PHP: version 5.0 or above
      mySQL: version 5.0 or above
      phpmyAdmin: version 2.0 or above (insert php_info for full details about php ver.)
      Operating system: Internet Explorer Version 6 or above, Firefox version 1.5 or above,
       safari version 2.0 or above

External systems

      Active paypal sandbox account. Sandbox account requires at least 1 client (for
       payment purposes) and 1 business account (to receive payments) – information
       related to the configuration of sandbox accounts is located at
       http://sandbox.paypal.com
      Access to verification tools, such as wave, cynthiasays and W3C (does html5), or equivalent
       tools. (good idea to utilise well known tools)

Schedule
(information related to this component is based on gantt-charts from assessment
4041/4233)

      Database Connectivity Test/Transaction testing
          o Connection rate testing – 2 hour
          o Connection authentication test – 2 hours
          o MILESTONE : Database connectivity test completion
     System Login/Registration Test
          o Login Stress-test – 2 hour
             (defines repetitive connection test to component)
          o Login user-test – 2 hours
          o MILESTONE : Login system test
     Payment Gateway
          o Standard Transaction test – 1 day
          o Transaction return and historical verification – 1 day
          o MILESTONE: Payment Gateway Test
     User Accessibility and Document compliance test
          o Online tool testing – 1 day
          o End-user verification – 1 day




Documentation to record test results:
Module/Page Name:
Module/Page Version:
Test Environment (Server Version/Script Language Versions)
 WHERE ITS HOSTED ETC
Stub Name:
Test Date:
Inputs Required:
Outputs Required:

         Servername        Username           Password       Database          Result              Result (actual)   Overall Result
                                                                               (expected)
         Localhost         Root               P4ssw0rd       Db_club           Success
         Localhost         Root                              Db_club           Fail (no
                                                                               password)
         Localhost                            P4ssw0rd       Db_club           Fail (no user)
         Localhost         Root               P4ssw0rd                         Fail (no
                                                                               Database)
                           Root               P4ssw0rd       Db_club           Fail (no service)
         Localhost         Guest              P4ssw0rd       Db_club           Fail (no access
                                                                               for guest)



Changes Required:




Tester Name:                                                      Signature:
(Include source code of testing stubs to this document)
Module/Page Name:
Module/Page Version:
Test Environment (Server Version/Script Language Versions)

Tester Name:
Stub Name:
Test Date:
Inputs Required:
Outputs Required:
Directions:

    1.   For each of the listed testing items below, enter these data fields into the login system, and attempt
         to log in normally.
    2.   Record either a successful or non successful result in the column labelled “Actual Result”
    3.   Compare the “Actual result” to the “Expected Result” - if both are the same, record “Success” in the
         overall result box. If results differ, record “fail” in the results box, and note any error details where
         appropriate.
    4.   The remaining 4 elements shown on the list below are available for you to suggest “test data” –
         attempt to login with a username of your choice, a password of your choice, and write the expected
         result, the actual result, and the overall result, as detailed in steps 1 – 3.

Username       Password       Submit       Expected Result              Actual Result       Overall Result
User001        P4ssw0rd       TRUE         Success
User001                       TRUE         Fail (no Password)
User001        P4ssw0rd                    Fail (no submission)
               P4ssword       TRUE         Fail (no username)
                              TRUE         Fail (no valid data)




Changes Required:




Tester Name:                                              Signature:


    (Include Document verification test checklists used from Assessment 4142, 4135, 4174, 4137 or
    equivalent)

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:87
posted:10/28/2011
language:English
pages:10