Classification of
tasks and roles in the Software testing , based on the methodology RUP.
Around the roles and
tasks associated with testing and quality assurance, has developed several
contradictory ideological currents that have assiduously cultivated supports
these ideas.
Point of view is largely the opposite, in many respects
contradictory. Testing is seen on the one hand some polumehanicheskim process
that requires no special skills: tester see that kind "klikalschikom"
which simply chasing the application waits until it "falls", and then
gleefully reports an error and continues in the same spirit.
Recently, we must
pay tribute, there are materials on testing and quality, the publication of the
book, develop sites devoted to this area - this line of thought is gradually
disappearing, "no." From another point of view, which is probably
partly cultivated, and testers themselves (in the broadest sense of the word), software testing services - a process that covered many uncertainties, it is difficult formalization and measurable.
If, however, to add test automation services, which is
estimated to those who instilled the tools and solutions for testing, requires
a large (compared to manual testing) effort and to talk about evaluating the
quality of the product line of test turns entirely opaque to the casual
observer, and sometimes for themselves testers and QA.
Seems to me that this
situation is related to the fact that there is some misunderstanding of the
processes associated with testing and quality assurance. Meanwhile, the
direction of testing is clearly defined roles and tasks as it solves.
Having
defined the roles and tasks, it is possible not only to imagine a more or less
the standard testing process, but also understand that it has not. Note, I do
not identify the processes of testing and quality assurance. The objectives of
quality assurance, I plan to return in subsequent publications. I now propose
to consider testing as part of the quality assurance process.
Try to define and
understand what their roles and tasks are directed testing. In order not to
reinvent the wheel, I propose to build on the existing methodology RUP (Rational
Unified Process), the most common and the full version.
Analogy
There is a wonderful advertising: How to make cars SAAB? Take a plane
and cut all unnecessary, that helps him take off.
Let’s try to get a
template for a RUP-MTP (Master Test Plan) and cut off all unnecessary, that is
not the topic of this article. The most interesting thing that had cut off
virtually the entire pattern, leaving only one application and sign for the
calculation of resources. Add a translation, we cut out too much.
Testing Activities
Let us consider in
more detail the existing activities/tasks associated with testing:
·
Plan Test
- identify requirements for test
- assess risk
- develop test strategy
- identify test resources
- create schedule
- generate Test Plan
- identify requirements for test
- assess risk
- develop test strategy
- identify test resources
- create schedule
- generate Test Plan
·
Design Test
- prepare workload analysis
- identify and describe test cases
- identify and structure test procedures
- review and assess test coverage
- prepare workload analysis
- identify and describe test cases
- identify and structure test procedures
- review and assess test coverage
·
Implement Test
- record or program test scripts
- identify test-specific functionality in the Design and Implementation Model
- establish external data sets
- record or program test scripts
- identify test-specific functionality in the Design and Implementation Model
- establish external data sets
·
Execute Test
- execute Test procedures
- evaluate execution of Test
- recover from halted Test
- verify the results
- investigate unexpected results
- log defects
- execute Test procedures
- evaluate execution of Test
- recover from halted Test
- verify the results
- investigate unexpected results
- log defects
·
Evaluate Test
- evaluate Test-case coverage
- evaluate code coverage
- analyze defects
- determine if Test Completion Criteria and Success Criteria have been achieved
- evaluate Test-case coverage
- evaluate code coverage
- analyze defects
- determine if Test Completion Criteria and Success Criteria have been achieved
Roles in testing
Test Manager, Test Project Manager
Produces management
control (management oversight)
Responsibility:
Provides technical
direction
Receives the necessary resources
Provides management reporting
Test Designer
Receives the necessary resources
Provides management reporting
Test Designer
Test Designer
Defines and
prioritizes the development of test cases ensures
Responsibility:
Developing a test
plan
Developing a model for testing
Evaluates the effectiveness of testing
Tester, test engineer
Developing a model for testing
Evaluates the effectiveness of testing
Tester, test engineer
Tester
Runs tests
Responsibility:
Runs tests
Captures the results
Restores the tests and the system after failures
Documenting change requests
Administrator of the test system, applications, support life-cycle testing
Captures the results
Restores the tests and the system after failures
Documenting change requests
Administrator of the test system, applications, support life-cycle testing
Test System Administrator
Provides management
and support test environments and data
Responsibility:
Administers the test
management system
Installs and manages access to test systems
Database administrator, database manager
Installs and manages access to test systems
Database administrator, database manager
Database Administrator, Database Manager
Provides management
and support of test data (databases)
Responsibility:
Administers the test
data (database)
Test Designer
Test Designer
Designer
Establishes and
defines the operations, attributes and relationships of test classes
Responsibility:
Establishes and
defines the test classes
Establishes and defines the test sets (packets)
Developer tests
Establishes and defines the test sets (packets)
Developer tests
Implementer
Develops unit tests
(unit tests), test classes and test sets (packets)
Responsibility:
Creates the test
classes, collecting probe packets and integrates them with the test model
As you can see, on
closer inspection, it turns out that the tests - a well-defined process with
dedicated roles and area of responsibility for the various players of the
project. The order of the tasks defined in the usual (full) round of testing.
This cycle can be applied both for projects aimed at lengthy iterations, and
for "quick" projects ongoing on evolutionary techniques (evolutionary)
or according to the increasing pace of XP.
Hopefully, after a
brief excursion into the inner world of tasks and roles in testing, will be
less confusion.
No comments:
Post a Comment