• Tidak ada hasil yang ditemukan

Effective Methods for Software Testing

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "Effective Methods for Software Testing"

Copied!
1004
0
0

Teks penuh

Part Four: Incorporating Specialized Test Responsibilities. The seven-step testing process is a generic process that almost all software testing organizations can use. This book includes a CD containing working papers and quality control checklists to help you implement the software testing process. This chapter will help you understand the importance of following a well-defined process to become a world-class software testing organization.

Develop and implement a plan to improve from your current skills, competencies and user satisfaction to those in the world-class software testing model. This three-step process requires you to benchmark your current skills, competencies, and user satisfaction against those of the world-class software testing model. Understanding the model for a world-class software testing organization and then comparing your own organization will provide you with a blueprint for using the remainder of the material in this book.

Figure 1-1 The four components of the software-development process.
Figure 1-1 The four components of the software-development process.

Define a World-Class Software Testing Model

Software user. The individual or group that will use the software once it is put into production. Software developer. The individual or group that receives the software user requirements or assists in writing, designing, building, and maintaining the software, as needed. Development tester. The individual or group that performs the testing function within the software development group.

Senior management. The organization's CEO and other senior staff responsible for fulfilling the organization's mission. Auditor. The person or group responsible for evaluating the effectiveness, efficiency, and adequacy of information technology controls. Project manager. The person responsible for managing the build, maintenance and/or implementation of software.

Develop Baselines for Your Organization

Assessing the Test Environment

The matrix should indicate which member of the assessment team has knowledge of each of the seven assessment criteria. The assessment team should read each item aloud and then discuss how that item is addressed in their testing environment. Considering the footprint, your assessment team should try to draw some conclusions about your test environment.

Does the assessment team have the knowledge necessary to answer all the points to be addressed within the seven criteria. Was there general consensus among the assessment team on the answer for each item to be addressed. Does your assessment team believe that the testing organization will be more efficient if they improve the topics to be addressed that have no answers.

Figure 1-3 Overview of the testing environment.
Figure 1-3 Overview of the testing environment.

Assessing the Capabilities of Your Existing Test Processes

Are individual evaluators free of any biases that would cause them not to provide appropriate answers to the issues to be addressed. Request that the items to be addressed be properly collected and posted on the Track Chart Working Document. Does your organization believe that the overall assessment made is representative of your environment.

To conduct this self-assessment, answer the questionnaire in Work Papers 1-3 and post your results in Work Papers 1-4, as described in the previous section.

Assessing the Competency of Your Testers

The 2006 draft version of the CSTE CBOK is included in Chapter 5 as a detailed skill assessment questionnaire. This step requires you to read through the CBOK and obtain clarification of the material if necessary. To do this, add up the number of yes answers for each of the ten knowledge categories.

For example, if you have three Yes responses for the Test Planning category, place a dot on the Test Planning line at the intersection of the line representing the three Yes responses. Do you have enough knowledge of the CSTE CBOK to understand the assessment questions. Do you understand the skills required for each of the 50 assessment items in the questionnaires.

Develop an Improvement Plan

GENERAL INFORMATION

PLAN

List other software that will be needed to support the test that is not part of the software to be tested. List the numbers and types of personnel skills expected to be available during the test by both users and development groups. Describe or refer to the plan for providing training in the use of the software being tested.

Describe the plan for the second and subsequent system checkpoint where the software will be tested in a manner similar to paragraph 2.5.

SPECIFICATIONS AND EVALUATION

Discuss the method that will be used to record test results and other information about testing. State the expected limitations of the test due to test conditions such as interfaces, equipment, personnel, databases. Describe the rules that should be used to evaluate the test results, such as the range of data values ​​used, the combination of input types used, the maximum number of interruptions or shutdowns allowed.

Describe the techniques to be used to manipulate the test data into a form suitable for evaluation, such as manual or automated methods, to allow comparison of the results that should be produced with those that were produced.

TEST DESCRIPTIONS

This unit test plan conforms to the most widely accepted unit test plan standards. Note that the unit test reporting in Chapter 11 assumes that a standardized unit test plan is used. However, understanding the tactics that will be used to implement the strategy is important when creating work processes, selecting tools, and ensuring that the right personnel are recruited and trained.

The purpose of this section is to introduce you to the testing tactics that will be incorporated into the approach to software testing presented in this book. The tactics pertain to the test plans, test criteria, test techniques, and test tools used in validating and verifying the software system under development. The test methodology cube represents a detailed work program for testing software systems (see Figure 3-9).

A detailed test work program is important to ensure that test factors are adequately addressed at each stage of the systems development life cycle. This book provides a detailed description of the work program represented by the test methodology cube. The first and most important dimensions are the test factors that are selected for a given application system testing strategy.

If the test process can show that the selected test factors have been adequately handled by the application system, the test process can be considered to have been satisfactorily completed. In designing the test work program there are concerns at each stage of the life cycle that the test factors will not be achieved. While the factors are common to the entire life cycle, concerns vary depending on the stage of the life cycle.

Once the test tactic has ensured that the risks are addressed, the factors can be considered met and the test tactic is complete.

PLAN

BUSINESS AND STRUCTURAL FUNCTION TESTING

INTERFACE TEST DESCRIPTIONS

TEST PROGRESSION

The purpose of the walkthrough is to provide a basis for interrogation by the testing team to identify defects. It may be necessary to adjust the testing process to integrate the capabilities of the new tool. Are the potential tool manager candidates trained in the use of the tool they would manage.

The primary responsibility of the Assistant Tool Manager will be to acquire competency in the use of the tool. Help colleagues use the tool. The tool manager must be available to assist other staff members in using the tool. Performing the duties of a tool manager should be considered an important part of an individual's job.

Choosing the appropriate tool in testing is an important aspect of the testing process. The emphasis in this chapter will be on building the competency of the software tester. Any member of the testing team who will interact with developers and/or users must be an effective communicator.

Testing progress, performance and process compliance are assessed to determine the adequacy of the testing program. Staff—Select the size and competence of the staff needed to achieve the test plan objectives. The lessons learned from the testing effort should be used to improve the next iteration of the testing process.

Using the process will reduce testing variability and improve confidence in the testing process. Bugs fixed during the design requirements phase. The cost to correct will be the total cost associated with correcting the defect. Adaptation for vocabulary. It is important that the testing process uses the vocabulary of the organization.

Figure 3-9 Example of a test-tactics matrix.
Figure 3-9 Example of a test-tactics matrix.

Organizing for Testing

It does not matter whether testing is performed by developers or by an independent testing team; what is important is that someone has responsibility for testing. This chapter defines the tasks to prepare for testing and to organize the test team. If the developers do the testing, there is probably no need for the testers to ensure that the project estimate is adequate and to develop a process to track the project's status.

However, when independent testers perform testing, unless they can control their testing budget and the project team has an effective project status reporting process, the testers should perform the last task. The objective of this chapter is to enable you to define the purpose of testing and ensure that adequate time and resources are available for testing. If testing is included in the developer's budget, the test manager must ensure that the estimate is suitable for testing.

The test manager must also ensure that overruns in project development will not limit the amount of testing as defined in the test plan. Software development process. This includes the procedures and standards to be followed during project implementation. Appoint the test manager. If testing is part of an internal development effort, the project manager must determine who is responsible for testing.

Determine the scope of testing. The test manager determines the scope of testing, although all or part of the scope may be defined by testing standards. Define the group to test. The test manager, project manager or IT management should appoint the test team. Check the development documentation. The test manager must verify that adequate development documentation is available to perform effective testing.

Validate the test estimate and project status process. The test estimate can be developed by either the test manager or the project manager.

Figure 7-1 shows the workbench for organizing for testing. The workbench input is the current documentation for the software system being tested
Figure 7-1 shows the workbench for organizing for testing. The workbench input is the current documentation for the software system being tested

Appoint the Test Manager

For small projects (1–2 testers), the most experienced tester can fulfill the role of manager; for medium projects (3–5 testers), the test manager should be both a tester and a manager; and for larger projects (6 or more testers), management skills are more important than testing skills.

Define the Scope of Testing

Appoint the Test Team

Gambar

Figure 1-2 Model of a world-class software testing organization.
Figure 1-3 Overview of the testing environment.
Figure 1-4 Example of a software testing organization using a test as a part of development.
Figure 1-5 Example of a testing organization using, but not enforcing, the test process.
+7

Referensi

Dokumen terkait

1.3 Statement of the Problem All Dubai’s private schools must set up an inclusion department and appoint team members to assist the principal in implementing the educational framework