|
|
||
|
Buy it Today!
|
A Risk-Based
Approach to Client-Server Testing
By Randall Rice Just as the term "Client/Server" may be defined differently from one person to the next, the approaches used to test client/server systems often differ. Client/server systems have characteristics that make them complex and difficult to test using traditional approaches. Client/server systems cannot be universally described in terms of environment and structure. Although Graphical User Interfaces (GUIs) are predominant in client/server systems, the testing of these systems must address a larger picture. The Quality Assurance Institute (QAI) of Orlando, FL has identified ten risks of client/server systems. These ten risks cover the big picture of developing client/server systems. It is only logical to look at the risks involved in a system and then develop strategies to address those risks. A risk-based approach to testing client/server systems is more than simply testing software - it is also testing server procedures, user procedures, and control issues. Therefore, testing client/server systems involves both computerized (dynamic) and non-computerized (static) testing. The risk-based approach requires a variety of tools and techniques that are geared to meet the demands of client/server testing. The challenge is to select the right tools and techniques and to learn how to use them effectively. The Risk-Based Testing Process The first step in this approach is to identify the critical success factors for your client/server system. QAI's Ten Risks for Client/Server Systems 1. Organization not ready for client/server technology 2. Inadequate server procedures 3. Improper application selection 4. Inadequate client processing methods 5. Inadequate interface procedures 6. Lack of consistency in processing 7. Improper data usage 8. Inadequate security 9. Lack of integration 10. Inadequate client/server administration Step 1 - Identify critical success factors This is accomplished by analyzing your business needs to ask "What must attributes must this system have to be considered a success?" For the purpose of client/server technology, QAI has identified eight critical success factors: 1. Solve the right business problem 2. Adequate capacities to satisfy user requests 3. Ease of use 4. Effective processes/standards 5. Effective integration of data, hardware, and software 6. Use technology compatible with the organization's culture 7. Adequate resources to perform tasks effectively and efficiently 8. Plan for growth Step 2 - Prioritize critical success factors It is difficult to consider all of the critical success factors when assessing risk or planning the test. Although all of the success factors play a role in the success of client/server systems, some factors will be more important to you than others. Step 3 - Identify risks From the list of ten risks, identify those risks that are present in your environment. Much time could be spent on this topic alone. For a complete treatment of the subject of risk assessment in a client/server environment, see the QAI course on Client/Server Risks. Step 4 - Assess the magnitude of each risk Rank the magnitude of each risk from insignificant to critical. Step 5 - Develop test strategy The test strategy will depend on the kinds of risks and their magnitude. The type of applications and system architecture will also play a key role in the testing strategy. For example, some client/server systems use GUI applications, while others may use character-based applications. Other considerations are server types, database types, and the level of user skill. Step 6 - Develop a test plan The test plan is a high level document that describes the background, strategy, and objectives of the test. The test plan describes what is to be done, how it will be done, who will do it, and what the timeframes are. Any detail documents, such as descriptions of individual tests or test scripts are attached at the end of the test plan. Step 7 - Execute tests This step is the execution of the test as described in the plan. Client/server systems must take advantage of automated testing tools in order to keep up with the output from Rapid Application Development. Automated scripts can be recorded based on manual scripts. When a change is made to the software, the scripts can be played back and compared to find differences. Step 8 - Evaluate tests After the tests are complete, an evaluation must be made to determine if the system meets the expected criteria. If the observed results do not match the expected results, either a defect exists or the expected results are not correct. After all of the tests have been executed, an overall evaluation of the test can be made. In many cases, a final test report is written. The final test report lists the findings and recommendations of the test team (if an independent team is used). Conclusion Effective testing of client/server systems is more than just banging on the GUI application to find bugs. You must identify and address your critical success and risk factors, then use a methodical approach. For more information on testing client/server systems, or the training course A Risk-Based Approach to Client/Server Testing, contact us from the contact page. |
Latest News New Course Series - IEEE Standards Basic Training in Software Testing Course Now Online! New Software Testing Certification! CSTM - Certified Software Test Manager Join Our Free Newsletter RCS e-Learning Quote
|
|
Home About Us Site Map Events Training Consulting Resources Community Newsletter Contact Us Careers Certification The QA Zone All materials on this site copyright 1996 - 2005, Rice Consulting Services, Inc. Rice Consulting Services, Inc.
|
||