Understanding

Understand

Business requirements and product features

Mindset of client and audience

Analyze these parameters

parameters

Functionality as core Different products - different business needs

Financial application

Focus functionality of application
Consider technical details
Minor mistake may have major impact For inventory management system
Focus on data collection and backend testing

Healthcare Application
Complex maze of regulations
Major privacy concerns
Reference : https://www.ncbi.nlm.nih.gov/books/NBK20503/

User friendliness and interface

usability engineering

Hotel booking or tour planner website

Color scheme, layout and ease of use holds greater value

Client is not interested in addressing the complex corner cases, rather he has a priority for user interface of website and its smooth flow

Time to market

Market

The faster you launch the product/services to the market the faster you get the profit. If it is a very complex time consuming development - do it in stages. First stage release essentials the add ones

Proof of Concept (PoC) and prototypes

PoC

Work with software prototyping model and plan your test strategy accordingly if the client is unclear on requirements

Things to consider before writing a Test Plan

Things to consider

Things to consider

Understand the mindset of the client

Mindset

Execution part will be really challenging as anything can be put on the paper but when it comes to implementing it things may not go in the way we planned. While creating the test plan keep it in mind and analyze the risks/challenges and solutions.

Craft Your Test Strategy

Craft it step by step

Understand the business need

If a user friendly product include: user interface testing, usability testing, cross browser testing and cross platform testing

Select the required testing types All testing techniques can not be applied on every project.

Depending on the requirements, you select the required testing types to test all areas of your application/product

Consider combination of black box testing, white box testing, security testing, database testing, API testing, load testing, stress testing,performance testing, usability testing, cross browser testing, cross platform testing, integration and regression testing techniques

Know Your Platforms & Target Devices

Platforms & Devices

Knowing the target platforms and devices, another important thing to consider

The market is flooded with variety of devices that it is almost impossible to testing on every devices. Thus we have to get the agreement on the devices that will come under test.

You can shortlist your target platforms, devices, screen sizes, browsers and resolutions by doing some market research on your audience and targeted users

Choose the Right Testing Tools

Choosing the right tools:

Consider the requirements

Open source tools vs commercial tools

Consider test types that one has to do

If load test involved how many users should we stimulate

Are they manageable with the parallel modules of TestNG or JUnit or should we go for LoadRunner, LoadComplete

If mobile testing involved - consider Katalon or Appium - what defect management system to be used

Process

Establish Quality Assurance Process

Quality assurance process includes the complete quality cycle for the project starting from the understanding of requirements, creation of test scenarios, execution of test cases, identification and reporting of bugs, verifying the fixes and finally performing the smoke test of final product.

Estimate Quality Assurance effort

The tasks involved:

Creation and Execution of Test cases

Tests are done to catch the bugs so the team should consider all means and ways to develop good scenarios through brain storming

Creation of Test Data

This should be done in a systematic way.

If login functionality is tested with valid and invalid credentials make a list of data with all possibilities but don't overdo.

If unique or random data is required use the programming language to generate them

Analysis of resources

Analyse and allocate the tasks as per the skills and experience level of the team members

Delays and contingency

Have a plan for unexpected changes in the schedule - delay in fixing bugs and getting the product for testing etc.

Schedule Quality Assurance Activities

Schedule Quality Assurance Activities

A breakdown of activities can help you schedule the test project without much errors.

Make a gantt chart with all start stop dates with expected delays that can happen.

This also helps you to identify and apply fast tracking or crashing techniques to compress the schedule and meet project deadline

Refer: https://pmstudycircle.com/2012/09/fast-tracking-crashing-schedule-compression-techniques-in-time-management/

Availability of Resources

Availability of Resources

This includes test environment, testing tools, testing devices and human resource.

You might have special software or hardware requirements to comply with the system under development.

Hence, make sure that you have or you will set up the required test environment when needed.

Know the essentials of a Test Plan

Know the essentials of a Test Plan

To systematically organize the testing process you would require a Test Plan.

You can create a test plan following IEEE 892 standard, or you can create a customized test plan

Execution

Execution is just as important as Planning

Execution part will be really challenging as anything can be put on the paper but when it comes to implementing it things may not go in the way we planned.
While creating the test plan keep it in mind and analyze the risks/challenges and solutions.

ISO29119 Standard Master Test Plan (MTP)

ISO29119 Standard Master Test Plan (MTP)

ISO29119 Standard Master Test Plan (MTP)

MTP 01

Test plan identifier

Provide a unique identifier for the document. (Adhere to the Configuration Management System if you have one.)

MTP 02

Introduction

Provide an overview of the test plan.
Specify the goals/objectives.
Specify any constraints

MTP 03

Test items

List the test items (software/products) and their versions

MTP 04

Features to be and not to be tested

To Be
List the features of the software/product to be tested.
Provide references to the Requirements and/or
Design specifications of the features to be tested

NOT To Be
List the features of the software/product which will not be tested.
Specify the reasons why these features won’t be tested.

MTP 05

Approach

Mention the overall approach to testing.
Specify the testing levels, the testing types, and the testing methods [Manual/Automated; White Box/Black Box/Gray Box]

MTP 06

Item pass/fail criteria

Specify the criteria that will be used to determine whether each test item (software/product) has passed or failed testing

MTP 07

Suspension criteria and resumption requirements

Specify criteria to be used to suspend the testing activity.
Specify testing activities which must be redone when testing is resumed

MTP 08

Test deliverables

List test deliverables, and links to them if available, including the following:
Test Plan
Test Cases
Test Scripts
Defect/Enhancement Logs
Test Reports

MTP 09

Testing tasks

MTP 10

Environmental needs

Specify the properties of test environment: hardware, software, network etc.
List any testing or related tools

MTP 11

Responsibilities

List the responsibilities of each team/role/individual

MTP 12

Staffing and training needs

Specify staffing needs by role and required skills.
Identify training that is necessary to provide those skills, if not already acquired

MTP 13

Schedule

Time line and deadline for each task

MTP 14

Risks and contingencies

List the risks that have been identified.
Specify the mitigation plan and the contingency plan for each risk

MTP 15

Approvals

Specify the names and roles of all persons who must approve the plan.
Provide space for signatures and dates. (If the document is to be printed.)