Develop a test strategy for testing the entire application of a college course registration system. Specifically define roles, responsibilities, timing, and test strategy for each level of testing.
Test Requirements
The following have been identified as targets for testing. This gives an idea of what will be tested.
Data and Database Integrity Testing
Verify access to Course Catalog Database.
Verify simultaneous record read accesses.
Verify lockout during Course Catalog updates.
Verify correct retrieval of update of database data.
System Testing / Functional testing
Verify Login Use Case
Verify Course Registration Use Case
Verify Maintain Student Information Use Case
Verify Maintain Professor Information Use Case
Verify Submit Grades Use Case
Verify View Report Card Use Case
Verify Select Courses to Teach Use Case
Business Cycle Testing
Verify operation following download of a new course catalog.
Verify operation across multiple semesters and multiple years.
Verify correct operation when semester spans year rollover.
User Interface Testing
Verify ease of navigation through a sample set of screens.
Verify sample screens conform to GUI standards.
Performance Testing
Verify response time to access external Finance system.
Verify response time to access external Course Catalog subsystem.
Verify response time for remote login.
Verify response time for remote submittal of course registration.
Load Testing
Verify system response when loaded with more number of logged on students (say around 200).
Verify system response when more number of students (say around 50) simultaneously accesses to the Course Catalog.
Stress Testing
Verify system response during prime time use
Verify system response during maximum student logins.
Volume Testing
Verify system response when Course Catalog Database at 90% capacity.
Security and Access Control Testing
Verify Logon from a local PC.
Verify Logon from a remote PC.
Verify Logon security through user name and password mechanisms.
Failover / Recovery Testing
Verify that the system shall be available 24X7.
Configuration Testing
Verify that the system runs successfully on all the supported OS
Installation Testing
Verify installation of server portion.
Verify installation of client portion.
Test Strategy
The following test strategy is generic in nature and is meant to apply for the general requirement considerations of College Course Registration System
Data and Database Integrity Testing
The databases and the database processes should be tested as separate systems. These systems should be tested without the applications (as the interface to the data). Additional research into the DBMS needs to be performed to identify the tools / techniques that may exist to support the testing identified below.
|
Test Objective: |
Ensure Database access methods and processes function properly and without data corruption. |
|
Technique: |
|
|
Completion Criteria: |
All database access methods and processes function as designed and without any data corruption. |
|
Special Considerations: |
|
System Testing
The goals of these tests are to verify proper data acceptance, processing, and retrieval, and the appropriate implementation of the business rules. This type of testing is based upon black box techniques, that is, verifying the applicationby interacting with the application via the GUI and analyzing the output. Identified below is an outline of the testing recommended for each application:
|
Test Objective: |
Ensure proper application navigation, data entry, processing, and retrieval. |
|
Technique: |
|
|
Completion Criteria: |
|
|
Special Considerations: |
|
Business Cycle Testing
Business Cycle Testing should emulate the activities performed on the system over time. A period should be identified, such as one year, and transactions and activities that would occur during a year's period should be executed. This includes all daily, weekly, monthly cycles and events that are date sensitive, such as ticklers.
|
Test Objective |
Ensure proper application and background processes function according to required business models and schedules. |
|
Technique: |
|
|
Completion Criteria: |
|
|
Special Considerations: |
|
User Interface Testing
User Interface testing verifies a user's interaction with the software. The goal of UI Testing is to ensure that the User Interface provides the user with the appropriate access and navigation through the functions of the applications. In addition, UI Testing ensures that the objects within the UI function as expected and conform to corporate or industry standards.
|
Test Objective: |
Verify the following:
|
|
Technique: |
|
|
Completion Criteria: |
Each window successfully verified to remain consistent with benchmark version or within acceptable standard |
|
Special Considerations: |
|
Performance Testing
Performance testing measures response times, transaction rates, and other time sensitive requirements. The goal of Performance testing is to verify and validate the performance requirements have been achieved. Performance testing is usually executed several times, each using a different "background load" on the system. The initial test should be performed with a "nominal" load, similar to the normal load experienced (or anticipated) on the target system. A second performance test is run using a peak load.
Additionally, Performance tests can be used to profile and tune a system's performance as a function of conditions such as workload or hardware configurations.
|
Test Objective: |
Validate System Response time for designated transactions or business functions under the following two conditions: - normal anticipated volume - anticipated worse case volume |
|
Technique: |
|
|
Completion Criteria: |
|
|
Special Considerations: |
|
Load Testing
Load testing measures subjects the system-under-test to varying workloads to evaluate the system's ability to continue to function properly under these different workloads. The goal of load testing is to determine and ensure that the system functions properly beyond the expected maximum workload. Additionally, load testing evaluates the performance characteristics (response times, transaction rates, and other time sensitive issues).
|
Test Objective: |
Verify System Response time for designated transactions or business cases under varying workload conditions. |
|
Technique: |
|
|
Completion Criteria: |
|
|
Special Considerations: |
|
Stress Testing
Stress testing is intended to find errors due to low resources or competition for resources. Low memory or disk space may reveal defects in the software that aren't apparent under normal conditions. Other defects might results from competition for shared resource like database locks or network bandwidth. Stress testing identifies the peak load the system can handle.
|
Test Objective: |
Verify that the system and software function properly and without error under the following stress conditions:
NOTES: Stress testing's goal might also be stated as identify and document the conditions under which the system FAILS to continue functioning properly. |
|
Technique: |
|
|
Completion Criteria: |
All planned tests are executed and specified system limits are reached / exceeded without the software or software failing (or conditions under which system failure occurs is outside of the specified conditions). |
|
Special Considerations: |
|
Volume Testing
Volume Testing subjects the software to large amounts of data to determine if limits are reached that cause the software to fail. Volume testing also identifies the continuous maximum load or volume the system can handle for a given period. For example, if the software is processing a set of database records to generate a report, a Volume Test would use a large test database and check that the software behaved normally and produced the correct report.
|
Test Objective: |
Verify that the application / system successfully functions under the following high volume scenarios:
|
|
Technique: |
|
|
Completion Criteria: |
All planned tests have been executed and specified system limits are reached / exceeded without the software or software failing. |
|
Special Considerations: |
|
Security and Access Control Testing
Security and Access Control Testing focus on two key areas of security:
- Application security, including access to the Data or Business
Functions, and
- System Security, including logging into / remote access to the
system.
Application security ensures that, based upon the desired security, users are restricted to specific functions or are limited in the data that is available to them. For example, everyone may be permitted to enter data and create new accounts, but only managers can delete them. If there is security at the data level, testing ensures that user "type" one can see all customer information, including financial data, however, user two only sees the demographic data for the same client.
System security ensures that only those users granted access to the system are capable of accessing the applications and only through the appropriate gateways.
|
Test Objective: |
Function / Data Security: Verify that user can access only those functions / data for which their user type is provided permissions. System Security: Verify that only those users with access to the system and application(s) are permitted to access them. |
|
Technique: |
|
|
Completion Criteria: |
For each known user type the appropriate function / data are available and all transactions function as expected and run in prior Application Function tests |
|
Special Considerations: |
|
Failover / Recovery Testing
Failover / Recovery testing ensures that an application or entire system can successfully failover and recover from a variety of hardware, software, or network malfunctions with undue loss of data or data integrity.
Failover testing ensures that, for those systems that must be kept running, when a failover condition occurs, the alternate or backup systems properly "take over" for the failed system without loss of data or transactions.
Recovery testing is an antagonistic test process in which the application or system is exposed to extreme conditions (or simulated conditions) such as device I/O failures or invalid database pointers / keys. Recovery processes are invoked and the application / system is monitored and / or inspected to verify proper application / system / and data recovery has been achieved.
|
Test Objective: |
Verify that recovery processes (manual or automated) properly restore the database, applications, and system to a desired, known, state. The following types of conditions are to be included in the testing:
|
|
Technique: |
Tests created for Application Function and Business Cycle testing should be used to create a series of transactions. Once the desired starting test point is reached, the following actions should be performed (or simulated) individually:
Once the above conditions / simulated conditions are achieved, additional transactions should executed and upon reaching this second test point state, recovery procedures should be invoked. Testing for incomplete cycles utilizes the same technique as described above except that the database processes themselves should be aborted or prematurely terminated. Testing for the following conditions requires that a known database state be achieved. Several database fields, pointers and keys should be corrupted manually and directly within the database (via database tools). Additional transactions should be executed using the tests from Application Function and Business Cycle Testing and full cycles executed. |
|
Completion Criteria: |
In all cases above, the application, database, and system should, upon completion of recovery procedures, return to a known, desirable state. This state includes data corruption limited to the known corrupted fields, pointers / keys, and reports indicating the processes or transactions that were not completed due to interruptions. |
|
Special Considerations: |
|
Configuration Testing
Configuration testing verifies operation of the software on different software and hardware configurations. In most production environments, the particular hardware specifications for the client workstations, network connections and database servers vary. Client workstations may have different software loaded (e.g. applications, drivers, etc.) and at any one time many different combinations may be active and using different resources.
|
Test Objective: |
Validate and verify that the client Applications function properly on the prescribed client workstations. |
|
Technique: |
|
|
Completion Criteria: |
For each combination transactions are successfully completed without failure. |
|
Special Considerations: |
|
Installation Testing
Installation testing has two purposes. The first is to insure that the software can be installed on all possible configurations, such as a new installation, an upgrade, and a complete installation or custom installation, and under normal and abnormal conditions. Abnormal conditions include insufficient disk space, lack of privilege to create directories, etc. The second purpose is to verify that, once installed, the software operates correctly. This usually means running a number tests that were developed for Function testing.
|
Test Objective: |
Verify and validate that the client software properly installs onto each client under the following conditions:
|
|
Technique: |
|
|
Completion Criteria: |
Transactions execute successfully without failure. |
|
Special Considerations: |
|
Develop a test strategy for testing the entire application of a college course registration system. Specifically...
Consider an online registration system (e.g., course registration at the university or membership registration in the conference). (a) List the main components of the system and its transactions. (b) How would you define the state and events of each component of the registration system? (c) Which performance measures might be of interest to registrants? (d) Which performance measures might be of interest to the system administrator? (e) What data would you collect?
Select an Object-Oriented software application, as well as a Sequential software application. Develop a testing template and create five meaningful test cases for each.
Select an Object-Oriented software application, as well as a Sequential software application. Develop a testing template and create five meaningful test cases for each. Explain why you chose what you did and what you were trying to achieve by creating the test cases that you did. For a Software Engineering II class
. You have been asked to build a course registration system for your university Develop an entity-relationship diagram that describes data objects, relationships and attributes. Draw a context-level model (level 0 DFD/CFD) for your system. Write a context level processing narrative for the system. Draw a level 1 DFD/CFD for your system. 2. What is the difference between cardinality and modality? (Pressman 6.4.3 7th Ed or Pressman 8.3.4 6th Ed) Does the information flow continuity concept mean that if one...
Subject: System Testing & Verification Q: There were three aspects to Test and Verification in this course (a) test abstraction, and (b) testing code fragments and (c) coding and debugging in Visual Logic. Which of these three approaches was the most meaningful to you?
Question: Question 183 Processing auditor test data using the client's software application _______. -will allow the auditor to verify manual controls within the software application are functioning as designed -may corrupt the client's system, and should not be attempted -will allow the auditor to verify that the software application is functioning as designed -should be performed without the knowledge of the client's senior management Question 19 The tolerable deviation rate _______. -relates to how many immaterial misstatements the auditor finds...
JAVA
Notes on Testing • Unit Testing - creates a test case for each module of code that been authored. The goal is to ensure correctness of individual methods • Integration Testing - modules that were individually tested are now tested as a collection. This form of testing looks at the larger picture and determines if bugs are present when modules are brought together • System Testing - seeks to test the entire software system and how it adheres to...
7) All of the following are automated test types except ________. A) Syntax checking B) System test C) Desk checking D) Unit test 8) ________ is a specific scenario of transactions, queries, or navigation path that represents a typical, crucial, or abnormal use of the system. A) A unit test B) A walk-through C) Desk checking D) A test case 9) Peter wants to make sure his code is going to work. He has Sally act as the computer mentally...
A new version of the operating system is being planned for installation into your department’s production environment. What sort of testing would you recommend is done before your department goes live with the new version? Identify each type of testing and describe what is tested. Explain the rationale for performing each type of testing. [ your answer goes here ] Would the amount of testing and types of testing to be done be different if you were installing a security...
answer please Q 14
to an expected syn- chrony score of 7.76; they then reported arscore of 2.27 for this difference. This esult is statistically significant at p<05. Explain this result to a person who is familiar with hypothesis testing with a known population variance but not with for the 30 I A researcher conducts a study of perceptual illusions under two different lighting con- ditions Twenty participants were each tested under both of the two different condi- ons. The...