TEST SPECIFICATION by WV05FP

VIEWS: 0 PAGES: 13

									                     CS 430
                    R-Server

       Software Requirements Specification

                  Feb. 16th, 2009

                    Nan Wu
                   Noel David
                  Marco Maurier
                    Huiha Lu

Nice and complete. I like the attempt to describe
               responsibilities.
                  100 points
                                             Table of Contents
1.0 Introduction ................................................................................................................. 32
  1.1 Goals and objectives ............................................................................................... 32
  1.2 Statement of scope .................................................................................................. 32
  1.3 Major constraints .................................................................................................... 32
2.0 Test Plan...................................................................................................................... 42
  2.1 Software (SCIís) to be tested .................................................................................. 42
  2.2 Testing strategy ....................................................................................................... 42
     2.2.1 Unit testing ....................................................................................................... 42
     2.2.2 Integration testing ............................................................................................ 42
     2.2.3 Validation testing ............................................................................................. 42
     2.2.4 High-order testing ............................................................................................ 52
  2.3 Testing resources and staffing ................................................................................ 52
     2.3.1 Testing resources ............................................................................................. 52
     2.3.2 Staffing............................................................................................................. 52
  2.4 Test record keeping ................................................................................................. 52
  2.5 Test metrics ............................................................................................................. 62
  2.6 Testing tools and environment ................................................................................ 62
  2.7 Test schedule ........................................................................................................... 62
3.0 Test Procedure ............................................................................................................ 62
  3.1 Software (SCIís) to be tested .................................................................................. 62
  3.2 Testing procedure.................................................................................................... 72
     3.2.1 Unit test cases .................................................................................................. 72
     3.2.2 Integration testing ............................................................................................ 82
     3.2.3 Validation testing ............................................................................................. 92
     3.2.4 High-order testing (a.k.a. System Testing) .................................................... 102
  3.3 Test record keeping and test log ........................................................................... 122
1.0 Introduction
This section provides an overview of the entire test document. This document
describes both the test plan and the test procedure.

1.1 Goals and objectives

      R-Server is a web-based statistical tool used to aid in the analysis and
      reporting of data. The objective of the R-Server is to provide the user an
      easy and convenient way to access their data and generate useful reports.
      The goal of the R-Server is to become as powerful as R itself, only it will
      be usable online.

      Many constraints will be applied to the website. The testing process for R-
      Server has a number of goals. The software will be thoroughly tested for
      logic errors and coding bugs. In addition to testing bugs, R-Server will also
      test the friendliness of the user interface to ensure that it is of the utmost
      quality: efficient, powerful, and user-friendly.

1.2 Statement of scope

      R-Server will be tested on a number of levels, beginning with unit testing
      using white box testing methods, integration testing using black box
      methods, validation testing, and ending with high order system testing with
      a public beta.

      A number of design principles will be validated during the testing process.
      The interface should be user-friendly. Data should read without error from
      the database. The analysis functions must be robust and efficient. Data
      reports must export successfully when user request a copy of the report.
      The load time of all the web pages should be reasonable, this include the
      analyzing page of the website. The help files must be helpful to the user
      and can give instructions to the user on all aspects of the site. Security will
      also be tested for only the authorized users will be authorized for using the
      analysis functions. Browser portability should be tested to ensure all types
      of browsers can be used without errors.

1.3 Major constraints

      The minimum system requirements to run the software include the
      following:
            A web browser
            Internet connection
            A valid username and password

2.0 Test Plan
2.1 Software (SCIís) to be tested

      The software being tested is R-Server, an online statistical analysis
      interface.

2.2 Testing strategy
2.2.1 Unit testing

             Unit testing will be done on the lowest level. As an individual
             module is being written, testing will be conducted for each and
             every piece of functional code by compiling, reviewing and fixing
             compiler errors. When the coding stage of the module is complete,
             the module will then be tested according to its purpose. In this
             stage, the module will be tested with all reasonable and expected
             inputs to see if it does its prescribed task. Finally, the module will
             be tested for security issues.

2.2.2 Integration testing

             After all individual modules have been unit tested, and are properly
             functioning, they will be put together to form a program. This
             program will then be tested for general errors including compiler
             and runtime errors, input errors, and efficiency. Any errors will be
             corrected at this stage. If the program is inefficient in some
             computation, the cause of the inefficiency will be isolated and fixed,
             whether it be at the unit level or the integration level.

2.2.3 Validation testing

             As the program is starting to take shape, lead programmers will
             make sure it adheres to customer guidelines. If any guideline
             cannot be followed exactly, then the program will be modified to suit
             the nearest reasonable alternative.
2.2.4 High-order testing

             R-Server will be system tested to ensure that all programming
             packages integrate with each other as intended, and that the final
             software is integrated well into the native environment.

             Alpha testing will follow, where the software interface will be
             delivered to a few people to test. The alpha testers will use the
             software as it was intended, to make sure no problems exist. Here
             any issues with the interface, computation, or graphs will be fixed.

             The software will then be tested for security and performance.
             During security testing, we will attempt to run known exploits
             against the interface and test security of the software. Security is
             vital to a user interface, so as to keep user data confidential, and so
             any security issues will be given special attention. During
             performance testing we will test the runtime performance of the
             software and make sure that the interface performs well in a variety
             of conditions.

2.3 Testing resources and staffing
2.3.1 Testing resources

                    R-server is a web-based environment for user running
                    statistics analysis based on supported database. For testing
                    the system, the backup data files will be needed to test the
                    statistical modules.

2.3.2 Staffing
                    Test team leader: Noel
                    Coordinator: Marco, Nan, Lu

2.4 Test record keeping

      A test record keeping document will be used to evaluate immediate test
      result for each of the testing.

      A test log will be kept to monitor the tests that have been applied. An
      error, or “bug” log is kept to monitor any problems that have arisen during
      testing.
2.5 Test metrics

     MODULE: this metric will be used for the progress of unit testing, which is
     counted as the unique numeric identifier of the integral program;

     ERROR_COUNT: this metric will be used for counting the number of
     defects associated with a module;

2.6 Testing tools and environment

     PHP will be used as testing tools as well as the testing environment. As
     stated above, a test date will be constructed for unit and integration
     testing.

2.7 Test schedule
                    Date      Week 13       Week 14       Week 15       Week 16

     Test task
     Unit testing
     Integration testing
     Validation testing
     Performance testing
     Other testing




3.0 Test Procedure
3.1 Software (SCIís) to be tested

     The software being tested is R-Server, an online statistical analysis
     interface.
3.2 Testing procedure
3.2.1 Unit test cases

                   3.2.1.1 Login

                  Test Case          Input                Expected Result
                  Valid Login        Valid Username &     Logged in to user
                                     Password             interface
                  Invalid Login      Invalid Username     Refresh login page
                                     & Password           and prompt for
                                                          valid credentials

                  3.2.1.2 Logout

                  Test Case          Input                Expected Result
                  Logout             User clicks logout   Prompt “Are you
                                                          sure you want to
                                                          logout?”

                  3.2.1.3 Help

                  Test Case          Input                Expected Result
                  Select topic       User selects a       Display topic
                                     topic                contents

                  3.2.1.4 Report

                  Test Case          Input                Expected Result
                  Specify function   Function, variables, Function is
                                     data                 generated
                                                          according to inputs
                  Specify invalid    Invalid function,    Prompt ‘Function
                  function           and/or variables,    could not be
                                     and/or data          generated due to
                                                          invalid inputs’
                  Graph              Type of graph        Graph is displayed
                  Invalid Graph                           Prompt ‘Graph
                                                          cannot be
                                                          displayed’

                  3.2.1.5 Account Request

                  Test Case          Input                Expected Result
                  Request Account    Username which is    Prompt “Choose
                                       already taken          another username”
                  Request Account      Password shorter       Prompt “Password
                                       than specified         too short”
                                       length
                  Request Account      Unique username,       Account created
                                       and valid password




3.2.2 Integration testing

                  3.2.2.1 Online User Interface

                  The online user interface will consist of all the components
                  listed in the unit testing section being put together, in a big
                  bang approach, and the result will be tested.

                  Test Case            Input                  Expected Result
                  Valid Login          Valid Username &       Logged in to user
                                       Password               interface; taken to
                                                              main page, cookie
                                                              enabled.
                  Invalid Login        Invalid Username       Refresh login page
                                       & Password             and prompt for
                                                              valid credentials
                  Select help topic    Help topic             Display topic
                                                              contents
                  Begin Report         Click ‘New Report’     Function page is
                                                              displayed
                  Specify function     Function,              Function is
                                       variables, data        generated
                                                              according to inputs
                  Specify invalid      Invalid function,      Prompt ‘Function
                  function             and/or variables,      could not be
                                       and/or data            generated due to
                                                              invalid inputs’
                  Graph                Type of graph,         Graph is displayed
                                       data generated
                                       from function
                  Invalid Graph                               Prompt ‘Graph
                                                              cannot be
                                                              displayed’
                  Request Account      Username which is      Prompt “Choose
                                       already taken          another username”
                  Request Account      Password shorter       Prompt “Password
                                       than specified     too short”
                                       length
                  Request Account      Unique username, Account created
                                       and valid password
                  Logout               User clicks logout Prompt “Are you
                                                          sure you want to
                                                          logout?”
                  Links Correct        Click on each and  Link goes to proper
                                       every link         location




3.2.3 Validation testing

            The purpose of this test is to make sure if all programs adhere to
            customer guidelines. If any guideline cannot be followed exactly,
            then the program will be modified to suit the nearest reasonable
            alternative.

                   3.2.3.1 Testing procedure for validation

                   Functionality Test         Input          Expected
                                 Case                        Result
                   Login         Valid        Valid          Logged in to
                                 Login        Username       user interface;
                                              & Password     taken to main
                                                             page, cookie
                                                             enabled.
                                   Invalid    Invalid        Refresh login
                                   Login      Username       page and
                                              & Password     prompt for valid
                                                             credentials
                   Help            Select     Help topic     Display topic
                                   help                      contents
                                   topic
                   Report          Begin      Click ‘New     Function page
                                   Report     Report’        is displayed
                                   Specify    Function,      Function is
                                   function   variables,     generated
                                              data           according to
                                                             inputs
                                   Specify    Invalid        Prompt
                                   invalid    function,      ‘Function could
                                   function   and/or         not be
                                              variables,     generated due
                                              and/or data     to invalid
                                                              inputs’
                  Output           Graph      Type of         Graph is
                                              graph, data     displayed
                                              generated
                                              from
                                              function
                                   Invalid                    Prompt ‘Graph
                                   Graph                      cannot be
                                                              displayed’
                  Account          Request    Username        Prompt
                  Request          Account    which is        “Choose
                                              already         another
                                              taken           username”
                                   Request    Password        Prompt
                                   Account    shorter than    “Password too
                                              specified       short”
                                              length
                                   Request    Unique          Account
                                   Account    username,       created
                                              and valid
                                              password
                  Logout           Logout     User clicks     Prompt “Are
                                              logout          you sure you
                                                              want to
                                                              logout?”

                  3.2.3.2 Pass/fail criterion for all validation tests

                  The pass/fail criterion should base on the performance that
                  according to the expected results, showed above.
                  Additionally, all links should lead to the proper location, and
                  all statistical functions should provide a proper output under
                  appropriate operation.

3.2.4 High-order testing (a.k.a. System Testing)

           The high-order testing procedure is specified. For each of the high
           order tests specified below, the test procedure, test cases, purpose,
           specialized requirements and pass/fail criteria are specified. It
           should be noted that not all high-order test methods noted in
           Sections 3.2.4.n will be conducted for every project.

                  3.2.4.1 Recovery testing
No recovery testing will be required. Since all the data are
accessed using a web browser, in the event of a system
crash, the user can always reboot their computer and log in
to the website again and reload everything.

3.2.4.2 Security testing

Security will be tested thoroughly. Only registered and
authorized users should be allowed access to use the
analysis functions provided by R-Server.

3.2.4.3 Stress testing

Different sizes of data will be tested. Amount of user flow will
also be tested. The R-Server should be able to allow a
reasonable amount of user to use the website at the same
time without causing any traffic and loading speed of the
website.

3.2.4.4 Performance testing

A timer will be set for each report generated. These times
will be recorded and studied to see if the software is
sufficient enough to handle all types of reports the users
might request on different size of data.

3.2.4.5 Alpha/beta testing

Alpha testing will be based on the software developers.
Members of the team will each go through the website
thoroughly and use the analysis functions on a testing
database to ensure quality and correctness.

Beta testing will be public. Selected pre-registered users will
be given a username and password and their data will be
loaded to the database. They will each go through the
website and submit a report of any bugs, ease of use, and
as well as their opinions about the R-Server.

3.2.4.6 Pass/fail criterion for all validation tests

If there are many complaints and errors of the website, it will
not pass the test.
3.3 Test record keeping and test log

     A test record keeping document will be used to evaluate immediate test
     result for each of the testing. For example:

                                 Test Record Form

     Test Type :____________
     Tester      :____________
     Date        :____________
     Test Case          Test Report          Enhancement       Comments
                                             Report
     Valid Login
     Invalid Login
     Select help
     topic
     Begin Report
     Specify function
     Specify invalid
     function
     Graph
     Invalid Graph
     Request
     Account1
     Request
     Account2
     Request
     Account3
     Logout
     Links correct
A test log will be kept to monitor the tests that have been applied. An
error, or “bug” log is kept to monitor any problems that have arisen during
testing.

                                 Test Log



Date   Defect report    Test Type    Test Case     Result       Comments

								
To top