test strategy template


Go

Hi there. This video is on Agile test strategy and Agile test planning.

Now, there is a separate video on How to create a powerful test strategy, but to revisit, What is a test strategy?

It means that you look at the existing constraints or limitations that you have in your situation

Then you look at the existing resources you have to do the testing.

And figure out what is the best approach to meet ALL your test objectives effectively.

Now in this particular video,

we are going to first of all, look at the sections of an example test strategy.

Then, we look at each and every section in detail, to understand it further. And then, we look at how to convert this

example test strategy into a

Agile test plan.

So, let us see the sections

of an example test strategy.

So, here are the different sections.

First of all, you can give an introduction to Agile, what are the guiding principles of Agile?

What is continuous design improvement? Continuous testing? Rapid feedback and change etc.?

Then another section can be on the guiding standards,

such as shared responsibility of quality in the team, data management standards and so on.

Then there can be a section on the requirements analysis strategy.

Then an important section is the quality and test objectives.

So, certain system quality objectives can be

accuracy of

requirement implementation, integrity, maintainability, security etc.

Then what are the items in scope of testing? What are the different testing types?

What is the strategy for designing the tests? How many different environments will be used in testing?

What will be the test execution strategy?

What will be the test data management strategy? An important section can be test automation strategy.

Then, what is going to be the strategy for test management?

What are the risks and assumptions in this test strategy? And finally, there can be a section on the defect management strategy.

Now, let us look at each of these sections in more detail.

So,

the first section is Introduction to Agile. These days many projects are run using the Agile software development

approach.

So, Agile is different from the Waterfall software development lifecycle.

The difference between Agile and waterfall is that Agile is an iterative approach to software development.

It is highly collaborative.

Among the team members, team members share a lot of responsibilities and they are in direct interaction with one another

during the entire project.

And then there is

continuous design improvement, continuous testing, rapid feedback and rapid change.

Now, the next section is the Guiding standards.

So, depending on your situation, you can put in the guiding standards.

One standard can be shared responsibility. This means that everyone is equally responsible for the quality. Quality is not the responsibility of

the software tester in the team, but each member of the team like

product owner,

developer,

customer and tester. Each and every one is equally responsible for the quality.

Then there can be a data management standard,

relating to

how data is managed in the project for testing purpose.

Then there can be test management standards. How to look after

test artifacts like test cases, code,

any test documents? Then there can be test automation standards like:

We will automate each of the unit tests, functional tests, regression tests as far as is feasible.

Now, the next section is the requirements strategy. So how to work on the requirements?

So here,

you can specify that

in the spirit of Agile, the work items may be re-prioritized at any time and

at any time, the team

will always

implement the highest priority work items first.

Then there can be

quality and test objectives that are important for the software.

So, first is Accuracy.

Now, for each of these quality and test objectives, you can give the description. You can give any

target that you want to achieve and you can also give the priority.

So for example, accuracy can be that

the features and functions

work completely.

The target can be that

100% of the required features and functions actually work in the software and

the priority of this objective can be "Must have".

Similarly, you can have another quality and test objective like integrity.

So, integrity is related to the integrity of data.

So, data should be secure and

the target for that is that

each and every user name and password (the sensitive information), also the session

variables are encrypted and

the priority can be "Must have" or "Should have" or "Nice to have".

Then, the next quality and test objective can be maintainability. Maintainability of the system means that it is easy to add features.

And it is easy to fix the defects. Here the target can be that

the code complexity should be less than a particular value. Then unit test coverage should be a very high percentage and

similarly, we can put the priority also.

Then the Availability. Availability is related to the percentage time

of the system. And here, you can give the target (whatever is the target) like 99% or

99.999%

And give the priority also. Then we have Inter-operability.

Meaning that the system is able to work in different platforms.

For example if it is a web-based system, then it can work in Internet Explorer,

Mozilla Firefox and Chrome.

Then there can be a Performance quality and test objective and

It is related to the responsiveness and throughput of the system.

So, there can be some target like: the response time

has to be < 1 second, the throughput has to be

> 100

transactions per minute.

The next section in this test strategy is the Test scope and

here,

we can identify

each type of testing that is required and

along with a description of the type of testing, you can give

the testing tools that the team can use.

So first is the unit testing. Unit testing basically involves testing software units or software elements and

the testing tool (if it is

dot Net, it can be Nunit, If it is a Java application, it can be Junit). Then there can be

code analysis.

The code analysis means that either the code is looked at

by static analysis or by

dynamic analysis.

And there are several techniques available for that like walk through and

using code analysis tools.

Then another type of testing you may want to have is the Integration testing. In integration testing, the

software units are combined and the entire

set of the software units working together is tested.

Then we have Feature and functional testing. Here the testing is done after the integration testing and

the testing is done against the requirements.

Each and every requirement is tested, whether it is working or not. Then the workflows are tested. Alll the operational scenarios are tested.

Then there can be

Data conversion testing. Data conversion testing means

testing whether the data is transferred completely and correctly from the source to the destination.

Then there is System testing. System testing

comes after

Feature and functional testing. And here, the end-to-end flow of the system is tested and also the integration of the

system with other systems is also tested.

Then,

It is possible that

Security testing is

within scope.

So, Security testing is testing for

vulnerabilities within the system,

testing for any possible insecure access or any data privacy issues etc.

Then there can be Environment testing. Environment testing means that

the system is tested on each and every supported platform, whether it is a different OS, it has to work on

Windows 7 ,Windows 8 and within Windows 7 and Windows 8 it has to work on Internet Explorer.

And it has to work on Mozilla Firefox. So, the system is tested in each and every environment.

Then there is Performance and Availability testing.

This means that the system is loaded with a particular load of

virtual users, doing different

business transactions.

And the response time and the throughput of the system are noted.

Then there is Regression testing. Regression testing means

that

all the previously working functionality is still working and all the previously closed

bugs are still closed.

Then there is Acceptance testing. Acceptance testing means testing against the earlier identified acceptance criteria.

So, each of the

testing types in scope can be described in the test strategy.

Now, the next section is the Test design strategy.

So, test design strategy...

you can specify

what test design techniques can be used? So it can be specification based techniques.

These are black box techniques like using

equivalence classes, boundary value analysis, decision tables, state transition diagrams etc.

Or you may want to use Structure based techniques, which are white box techniques such as statement coverage, condition coverage,

branch coverage and so on.

Or it can be Experience based techniques like exploratory testing. Or it can be a combination of all these.

Then the next section is the Test environment strategy.

So here, you can specify what all the different

environments that you will use in testing?

So, first is the Development environment.

So, Development environment you can specify will be used for

unit testing, functional testing and acceptance testing.

The Integration environment will be used for unit, functional and acceptance testing.

Also, static code analysis. Also, continuous integration.

Then Staging environment will be used for exploratory testing and

automated testing. And Production environment will be used for production verification testing.

Then the next section can be the Test execution strategy.

Now here, you can give certain guidelines as to what

principles or guidelines the testers should follow while executing the test?

So, I'm going to not going to go through each and every one of them, but we can see a few.

Agile testing must be iterative. That is

the very nature of Agile.

Testers cannot rely on having complete specification because

specification can be revised at any time.

Testers should be flexible and they need to be independent and empowered in order to be effective.

They can be

generalizing specialists. They can work on different types of testing and pitch in wherever

the team gets the most value. Be prepared to work closely with developers. Instead of relying on emails,

they can rely on face-To-face, or one-to-one interaction.

Always focus on value-added activities and so on.

Now nex,t you can specify

the Test data management strategy. Now, test data is required for testing because

it is an important part of testing. So, you can specify the Test data management strategy as

that production data in the system will be analyzed and a subset of the production data will be hidden

or the sensitive information in that production data subset will be hidden. For example,

confidential customer information like credit card numbers or health records etc.

They will be hidden and that subset will be used to initialize the

test data within each of the test environments. So, that the team is always testing on a

subset of the production data.

Then you can specify the Test automation strategy.

So here, you can specify that

the team has to use a planned approach and

always work to increase the quality of the test automation code that has been written by the team and

the test automation may be written by the developers

or it may be written by the testers. Anyone in their team can contribute and also contribute to increasing the quality and

always aim to automate the stable and high-priority test cases first so that

there is a maximum

return on the test automation effort.

Then you can specify the Test management strategy. So here, you can specify what

test management systems should be used?

Like Bugzilla or Jira etc.

Then, you can also document

the risks and assumptions. If risks are already known, then you can

put them here and also specify what is the strategy that will be used to identify and manage the risks.

For example, you can say that

the risks raised in the daily stand-up meetings will be logged immediately and

somebody will be made an owner of each risk. And that person will immediately analyze the risk and take the appropriate action.

Then,

you can define the Defect management strategy.

So basically, it involves what is going to be the Defect classification. The Defect classification can be a

Critical, Major, Minor or Trivial types of defects and you can

also specify what is the defect lifecycle. For example, first of all the defect will be identified. Then it will be

prioritized. Then analyzed and resolved. The resolution will be verified and finally, the defect will be closed.

So, this is the example

test strategy.

Now, let us move to

see how to convert the Agile test strategy to the Agile test plan. Well, once you have the overall Agile test strategy

available to you, you can easily convert it to your Agile test plan for a specific project.

All you need to do is be specific.

Be specific means that

the Agile test plan is

related to just one project. So maybe, you don't need a

particular quality and test objective. For example,

Availability of the system is not that important. So you can remove that section. Or maybe security of the system

access is not that important. So you can remove that section. If some other section is required, you can add that section, but

The Agile test plan has to be totally specific to that particular project.

Next, you can add sections of the project introduction because project introduction is different in each and every project.

Because the project objectives are different and unique.

Then, you can add a section of the team members that are in that project.

And also, you can assign the broad responsibilities of those.

One last thing you need to do to convert the Agile test strategy to the Agile test plan is to add the Test activities.

and Schedule.

And this way, you can convert your Agile test strategy to the Agile test plan.

So, let us do a recap.

Now, a test strategy means looking at the existing constraints and limitations, looking at the existing

available resources and figuring out what is the best approach to meet the test objectives effectively.

In an Agile test strategy, you can have sections like the

Introduction to Agile, Guiding standards, Requirements strategy,

Quality and Test objectives is an important section.

Test scope and Testing types.

The also give the strategy for Test design, Test environments, Test execution, Test data management, test automation

and

give the risks and assumptions and Defect management strategy. And once you have the Agile test strategy available to you,

you need to make a couple of changes.

Add or remove the sections that are not applicable.

Add sections that are applicable to the project. Remove sections that are not applicable to the project.

Keep sections that are applicable to the project.

Then add more sections of the Project introduction.

Who are the team members?

What are the responsibilities of the team members? And finally, add all the test activities and overall schedule.

So, that is all for this video. I hope you understood

Agile test strategy and Agile test planning. If you want to look at a detailed

example Agile test strategy, I will post the link in the description box and you can go through this.

So, thank you very much and see you in the next video.


strategy free online games play 
strategy free online games