CH05. L01. Test-organization
Summary
TLDRThis video script delves into 'Test Management', highlighting the importance of test organization and the varying degrees of independence in testing teams. It explores six options for test team structure, from developers testing their own code to outsourcing to external experts. The script emphasizes the benefits of independent testers, such as unbiased bug detection, and their drawbacks, including potential isolation and bottleneck issues in the development process. It also discusses the roles of test managers and testers, the importance of test planning, and the factors influencing the choice of test team independence, such as project size, complexity, and testing level requirements.
Takeaways
- π The chapter focuses on 'Test Management', covering six main areas: Test organization, planning, monitoring, configuration, risk, and incident management.
- π₯ Test Organization & Independence is about how a test manager organizes the testing process and selects the right team to ensure success.
- π€ Key questions addressed include how to acquire testers and whether to build an independent testing team separate from developers.
- π Discusses various testing scenarios ranging from developers testing their own code to having a fully independent testing team.
- π The importance of independence in testing is highlighted, with the potential issues of developers not finding their own mistakes.
- π Six options for assigning testers are presented, from in-house developers to outsourcing to external organizations for specialized, neutral, and experienced testing.
- π’ The choice of testing independence depends on factors like project size, complexity, product type, and project risks.
- π The role of an independent tester includes acting as a new, unbiased perspective to catch bugs and ensure objectives and specifications are met.
- π The drawbacks of independence include potential isolation and the risk of testers becoming a bottleneck in the development process.
- π©βπΌ The test manager's role involves creating a work plan, supervising testing activities, and deciding on automation and tool requirements.
- π Testers are responsible for executing the testing process, reviewing specifications, and ensuring the test environment is suitable for software testing.
Q & A
What are the main parts of 'Test Management' as mentioned in the script?
-The main parts of 'Test Management' are Test organization, Test planning and Estimation, Test progress Monitoring and control, Configuration Management, Risk and Testing, and Incident Management.
What is the primary role of a test manager in the testing process?
-The primary role of a test manager is to plan and organize the testing process, including choosing the test teams, to ensure the success of the testing process.
Why is it problematic for a developer to test their own code?
-It is problematic because it is difficult for someone to find their own mistakes, as they may overlook errors they are accustomed to.
What are the different options for the testing process as described in the script?
-The options range from the developer testing their own work, to having another developer from the same team test the code, to assigning an independent test team within the same organization, to having an independent tester from a business organization or user community, to assigning a specialized independent tester, and finally, outsourcing to an external organization.
What factors determine the choice of independence level for testers in a project?
-The factors include the project's size, complexity, the type of product, project risks, and the type of testing needed, such as component, integration, system, or acceptance testing.
Why is it important to have an independent testing team for larger and more complex projects?
-An independent testing team is important for larger and more complex projects because they can provide a neutral and objective testing process, ensuring that the software meets its objectives and specifications without being influenced by the developers' biases.
What are the benefits of having independent testers?
-The benefits include a fresh perspective on finding bugs, focusing on the testing process objectives, and the ability to determine if the set objectives and specifications are fulfilled.
What are the drawbacks of having independent testers?
-The drawbacks include potential isolation between the developer and tester, which can lead to communication gaps and testers being perceived as a bottleneck, especially in the waterfall model where they are at the end of the process.
What are the two important roles in the testing stage mentioned in the script?
-The two important roles are the test manager, who creates the work plan and supervises testing activities, and the tester, who executes the testing process.
What responsibilities does a tester have during the test preparation process?
-A tester's responsibilities include checking and applying the plan set by the manager, reviewing and analyzing specifications and requirements, creating test specifications, setting up the test environment, and reviewing work products done by other team members.
Outlines
π Test Management Overview and Organizational Independence
This paragraph introduces the concept of 'Test Management' as a critical component of software development, divided into six key areas: Test organization, planning and estimation, progress monitoring, configuration management, risk and testing, and incident management. The focus is on Test Organization & Independence, discussing the importance of planning and organizing the testing process by selecting the appropriate test teams to ensure success. It raises the question of how to form a testing team and whether developers should test their own work or have a separate, independent testing team. The paragraph explores various options for the testing process, from developers testing their own code to outsourcing testing to an external organization. The size and complexity of the project, the type of product, and the level of testing required are highlighted as factors influencing the choice of testing independence. The benefits and drawbacks of independent testing, including objectivity and potential isolation between developers and testers, are also discussed.
π₯ Roles and Responsibilities in Team-based Testing
The second paragraph delves into the roles within a testing team, emphasizing the preference of many individuals to work in teams, which can alleviate pressure during large projects. It outlines two main roles: the test manager, responsible for creating and supervising the work plan, including time, cost, organization, control, and reporting of testing activities; and the tester, who executes the testing process. The paragraph discusses the responsibilities of a tester during the test preparation process, such as reviewing the plan, analyzing and reviewing specifications and requirements, creating test specifications, setting up the test environment, and reviewing work products from other team members. The importance of the final test data output, which is reported to the manager, is also highlighted, emphasizing the collaborative nature of the testing process and the progression of responsibilities from component and integration testing by developers to system and acceptance testing by the testers.
Mindmap
Keywords
π‘Test Management
π‘Test Organization & Independence
π‘Test Teams
π‘Configuration Management
π‘Risk and Testing
π‘Incident Management
π‘Independence Levels
π‘Project Size
π‘Specialized Testing
π‘Outsourcing
π‘Test Manager
π‘Tester
Highlights
Test Management is divided into 6 parts: Test organization, Test planning and Estimation, Test progress Monitoring and control, Configuration Management, Risk and Testing, Incident Management.
The importance of test organization and independence in planning and organizing the testing process for success.
Different options for building a testing team, from developers testing their own work to having a completely independent testing team.
The problems with developers testing their own code, such as difficulty in finding their own mistakes.
Assigning another developer from the same team to test code they didn't write as an alternative to self-testing.
The role of an independent test team from the same organization, specialized in the testing process and reporting to management.
The option of having an independent tester from a business organization or user community for an external perspective.
The use of specialized independent testers in specific fields such as usability, security, and certification testing.
Outsourcing testing to an external organization for specialization, neutrality, and experience.
The project size as a key factor in deciding the level of independence needed for testing, with larger projects benefiting more from independent testers.
The need for more than one level of testing in complex and safety-critical systems.
The limitations of relying on development staff for testing due to difficulty in finding their own bugs.
The benefits of an independent testing team in providing a complete, neutral testing process with all relevant details and rules.
The drawbacks of independence, such as isolation and potential bottlenecks in the testing process.
The project manager's choice of testing independence depends on factors like project size, complexity, product type, and project risks.
The importance of the type of testing needed (component, integration, system, acceptance) in determining the level of independence.
The role of a test manager in creating the work plan, setting time and cost, organizing and controlling testing activities, and deciding on automation needs.
The role of testers in executing the testing process, reviewing specifications and requirements, creating test specifications, and working in the test environment.
The responsibilities of testers during the test preparation process, including reviewing the plan, analyzing and reviewing requirements, and creating test specifications.
The importance of the test environment in software testing, including the necessary hardware, software, and machine types.
The process of reviewing work products done by team members and the final test data output, with a report provided to the manager.
Transcripts
In chapter 5,
w e will mainly tackle
"Test Management",which
is mainly divided into 6 parts:
Test organization
Test planning and Estimation
Test progress Monitoring and control
Configuration Management
Risk and Testing
Incident Management.
Let's start with the first part which is
Test Organization & Independence.
In this part, we will know how the test
manager plans and organizes the testing process,
by choosing the test teams
to participate in it, in order to
guarantee the testing process success.
Here,we have an important question:
How to get testers?
and How to build a team?
Will we get testers and build
an independent testing team?
or will the developers
test their own work?
In fact there are many options
and different scenarios for testing process
in order to achieve the testing objective.
These options varies gradually
from the total independence
on the developer to completely test
his own work,
or to gradually move till we
separate the developer's work
from the tester's.
In this case, we will have an independent testing team,
which is responsible for this task.
Let's see how it varies gradually.
The first and the fastest option,
is that the developer
who wrote the code is the one who test it.
This one has many problems,
as no can find his own mistakes.
That's why they say,
"it's different from one eye to another"
The Second option is to assign another developer
from the same team to test a code which
he didn't write. As for the third option:
It is to assign an independent test team
from the same organization,
specialized in testing process
and when they finish testing,
they should submit a report to the project management
or the executive management.
The fourth option is to have
an independent tester from any
business organization or user community.
For the fifth option, it
is to assign an independent tester
who is specialized in only one
definite field, Such as:
usability testers, security testers,
certification testers.
The sixth and last option, is
the last thing we can resort to, to assign
an independent tester out of the organization.
That's what we call "outsourcing"
Sometimes we head to
an external organization to conduct
a testing process for our software
as a kind of specialization, neutrality and experience.
So what is the option that we will depend on
from the previous 6 options?
The project size is mainly what defines this
The larger project,
the more important to have an independent testers.
For example:
The complex and safety critical systems
not only that,
but also in this type of projects
we may need to apply more than
one level of testing.
Here, we should take care of an important point.
Although the development staff
can participate in testing process,
but we can't depend on them.
Because, as we previously mentioned,
it's difficult for the one who wrote the code
to find its own bugs.
Therefore, the testing process will lose its objective
and will not be effective.
In such cases, the independent testing team is
the best choice as it makes them
ask and set a complete
testing process with all relative details
and rules neutrally. This is all done with the support
of the top management. After we got introduced to
the independent testers' forms,
Lets know more about their benefits and drawbacks .
The first point is that the independent
tester is as a new eye which sees
the software and catches its own bugs
in a non-aligned way.
As he focuses on the objective of
the testing process.
So this is reason why they can determine, through
the work they have, whether
the objectives and the specifications which were set
in the beginning are fulfilled or no.
As there are positive points in assigning independent
testers, there are negative ones;like,
"The isolation". The full
separation between the developer and the tester
during working made them two teams
not just one. Each
has his own definite task.
For example, if we use the waterfall model,
we will find that testers are always
like the bottleneck.
because their role is at the end of the process.
and if there is any changes required, which
can cause the delay of the project's delivery,
they are always the one to blame.
Let's summarize what we've said:
The project manager's choice for
the level of Independence will always
relay on different factors, such as
the project 's size. We may not need
an independent tester if the project size
is small. while if it is large,
we will need for sure a specialized
team to do this process.
Also the complexity of the project
may force us to get
a specialized company to do the testing process.
There are also type of the product
and the project risks,
which have a large effect on deciding
the need to an independent tester.
Last but not least, the type of the test level,
what type of testing we need
whether component, integration,
system or acceptance.
The answer to this question is important
in identifying the level of independence.
Till now, we've learned who are
the independent testers, and what are
benefits and drawback of their existence.
So,let's agree that eveyone
prefer to work in teams.
However, according to a scientific study,
a large portion of people
prefer working in teams.
This can help them in reducing
pressure they feel during the large projects they do.
In testing stage, the career progression of
the team is divided into 2 important roles:
the role of a test manager:
his role is to create the work plan
which he should set time, cost,
how it will be organized and
controlled, and how he will supervise
the testing activities;
starting from the design stage,
through implementation, execution
and reporting results.
He also decides
what the team should do
and what needs automation.
For example,
he starts to determine
what are the tools that the team will need
at the end of the stage. He
also writes the reports about
the whole test object.
Sometimes, other members of the team
can do his role, according to the work place.
such as: the manager of a test group can be
a project manager, a development manager
and Quality assurance manager.
The second role is:the tester
who actually execute the testing process
to the project object.
The developers, they are the ones responsible for
the component and integration testing.
After that comes the tester's role
to start the testing stage of the system
and finally the acceptance testing.
So what is the responsibility of a tester
during the test preparation process?
1- They should check the plan that has been set y
the manager and start applying it.
2- They have to keep an eye on
all the files of specifications and requirements
which are required to be analyzed
and reviewed. Through this step,
we do the test specifications creation.
In addition, what is the suitable
environment to test a software which is called
the test environment. What is
the hardware or the software
or what type of machines we will need
to be tested. In addition to that; reviewing
the work product done by another member of the team
i.e. if a tester get work files back to the developer
to be modified.
once he finishes these modifications,
The new tester should review
not only the modified parts,
but also check the review comments which we mentioned
on them before.
The last and most important point
is the final test data output,
of which a report is provided to the manager
Browse More Related Video
ISTQB FOUNDATION 4.0 | Tutorial 8 | 1.5 Essentials Skills and Practices in Testing (Part-2) | CTFL
CH05. L02. Test planning overview
CH05. L05. Configuration management
CH05.L01 . Black box or white box testing
ISTQB FOUNDATION 4.0 | Tutorial 57 | Tool Support for Testing | Test Tools | ISTQB Tutorials
ISTQB FOUNDATION 4.0 | Tutorial 6 | 1.4 Test Activities, Testware & Test Roles (Part-2) | CTFL
5.0 / 5 (0 votes)