Professional Documents
Culture Documents
Test organization
• A test organization defines who is responsible for what activity in the test
process.
• The organization defines the test functions, test facilities and test activities.
Test manager/Lead
Tester Technical
Expert
Test Designer
Designs the necessary test cases and sets up the
order of execution.
Skills :
- Development and testing knowledge
- Knowledge on specification based techniques
- Knowledge on functional requirements
Test Automation Tester
Evaluates the possibility and necessity of the test
automation.
Skills :
- Experience as a tester
- Programming skills
- Excellent skills in operating the applied tools.
Skills :
Technical Expert
Skills :
- Database Administration
- Networking Experts
- Security experts
Test Planning
Test Plan
• A Test Plan is a detailed document that describes the test strategy, objectives, schedule,
estimation, deliverables, and resources required to perform testing for a software
product. Test Plan helps us determine the effort needed to validate the quality of the
application under test.
• The test plan serves as a blueprint to conduct software testing activities as a defined
process, which is minutely monitored and controlled by the test manager.
• Test Plan is A document describing the scope, approach, resources, and schedule of
intended test activities.
In a meeting, you want to discuss the Test Plan with the
Test Plan scenario:
team members, but they are not interested
Manager Employee
• Test Plan guides our thinking. It is like a rule book, which needs
to be followed.
Test Strategy is a critical step in making a Test Plan in Software Testing. A Test Strategy
document, is a high-level document, which is usually developed by Test Manager.
This document defines:
• The project’s testing objectives and the means to achieve them
• Determines testing effort and costs
For example, you need to develop Test Strategy for testing that banking website. You
should follow steps below
Step 2.1) Define Scope of Testing
• Before the start of any test activity, scope of the testing should be known. You must
think hard about it.
• The components of the system to be tested (hardware, software, middleware, etc.) are
defined as “in scope“
• The components of the system that will not be tested also need to be clearly defined as
being “out of scope.”
• Defining the scope of your testing project is very important for all stakeholders. A
precise scope helps you
- Give everyone a confidence & accurate information of the testing you are doing
- All project members will have a clear understanding about what is tested and
what is not
Step 2.2) Identify Testing Type
• A Testing Type is a standard test procedure that gives an expected test outcome.
• Each testing type is formulated to identify a specific type of product bugs.
• But, all Testing Types are aimed at achieving one common goal “Early detection of all
the defects before releasing the product to the customer”
• The commonly used testing types are described as following figure
Step 2.3) Document Risk & Issues
Risk is future’s uncertain event with a probability of occurrence and a potential for loss.
When the risk actually happens, it becomes the ‘issue’.
Risk Mitigation
Team member lack the required skills Plan training course to skill up your
for website testing. members
The project schedule is too tight; it’s Set Test Priority for each of the test
hard to complete this project on time activity.
Test Manager has poor management Plan leadership training for manager
skill
• Test Objective is the overall goal and achievement of the test execution.
• The objective of the testing is finding as many software defects as possible; ensure
that the software under test is bug free before release.
1. List all the software features (functionality, performance, GUI…) which may need to
test.
2. Define the target or the goal of the test based on above features
4. Define Test Criteria
Test Criteria is a standard or rule on which a test procedure or test judgment can be
based.
There’re 2 types of test criteria as following :
1. Suspension Criteria
• Pass rate is ratio between numbers test cases passed / test cases
executed. For example, in above 100 TCs executed, there’re 80 TCs that
passed, so the pass rate is 80/100 = 0.8 (80%)
Developer in Test • Implement the test cases, test program, test suite etc.
Resources Descriptions
System Resource
The testing tool is to automate the testing,
simulate the user operation, generate the test
Test tool results
There are tons of test tools you can use for this
project such as Selenium, QTP…etc.
Test Environment :
• A testing environment is a setup of software and hardware on which the testing team
is going to execute test cases.
• The test environment consists of real business and user environment, as well as
physical environments, such as server, front end running environment.
How to setup the Test Environment
Need a strong cooperation between Test Team and Development Team
Test Estimation
In the Test Estimation phase, suppose you break out the whole project into
small tasks and add the estimation for each task as below
• It gives a discipline to testing. When follow a test process it gives us the plan at
the initial.
• Test process provides the facility to plan and control the testing throughout
the project cycle. It helps to track and monitor the testing throughout the
project.
• Gives clear understanding of testing activities of prior project and post project
to all the stakeholders.
• There are many tools (Tools such as qTest, JIRA, Team Service, TestLink.)
available to manage the test process.
Test Management Process
1. Planning Phase :
• Risk Analysis
• Test Estimation
• Test Planning
• Test Organization
2. Execution Phase :
• Risk is the potential loss (an undesirable outcome, however not necessarily so)
resulting from a given action or an activity.
• Risk Analysis is the first step which Test Manager should consider before starting any
project.
• Because all projects may contain risks, early risk detection and identification of its
solution will help Test Manager to avoid potential loss in the future & save on
project cost.
Test Estimation
A Test Plan can be defined as a document describing the scope, approach, resources,
and schedule of intended Testing activities.
In software testing, a test plan gives detailed testing information regarding an upcoming testing
effort, including:
•Test Strategy
•Test Objective
•Exit /Suspension Criteria
•Resource Planning
•Test Deliverables
Test Organization
• Test functions, facilities and activities are also explained in the same process.
• The competencies and knowledge of the people involved are also defined however
everyone is responsible for quality of testing process.
Test Monitoring and Control
What will you do when your project runs out of resource or exceeds the time schedule?
You need to Monitor and Control Test activities to bring it back on schedule.
Test Monitoring and Control is the process of overseeing all the metrics necessary to
ensure that the project is running well, on schedule, and not out of budget.
Monitoring
In this step, the Test Manager takes action to correct the deviations from the plan. In
some cases, the plan has to be adjusted according to project situation.
Issue Management
As mentioned in the beginning of the topics, all projects may have potential risk.
When the risk happens, it becomes an issue.
In the life cycle of any project, there will be always an unexpected problems and questions
that crop up.
For an example:
2. Reactive:
Contrary to proactive approach, reactive approach involves the defining and creation of test
procedures, only after the completion of the development phase, i.e. approach could only be
initiated, when the development of a software product has been finished.
3. Analytical approach:
Analytical approaches involves, selecting and defining the approaches based on the analysis of some
factors or conditions associated with the software product, which may produce some significant
changes to the testing environment, such as on requirement basis, risk based, defect severity basis,
defect priority basis, etc. For example, when defining and preparing the test approach based on risk,
it may include approach/method to consider the area of higher risks, for the execution under the
testing phase, whereas that of lower risk may be taken up at a later stage.
• It ensures that developed software meets and complies with the defined or
standardized quality specifications.
• Each person has to make sure their work meet the QA criteria.
• The SQA team is the group of person who plays the major role in the project.
Without QA, no business will run successfully.
• Therefore, the Test Manager has to make clear the responsibility of each SQA
member in SQA plan as below:
1. Review and evaluate the quality of project activities to meet the QA criteria
4. Measure the quality of product; ensure the product meet the customer
expectations.
No Member Roles Responsibility
Issue management
6 Issue Management … Read
report James
• In this step, the Test Manager should describe the tasks to be performed by SQA auditor
with special emphasis on SQA activities as well as the work product for each task.
• Test Manager also creates the scheduling of those SQA tasks.
Personal in
Date SQA Tasks charge Description Output
- Software
Evaluate project Specification Review SQA planning
30-Oct-
planning, tracking and - Estimation, Master report, SQA review
2014 James
oversight processes Schedule and Project Plan minute
Review
30-Mar- Review and Evaluate - Review the Test SQA report, SQA
2015 Test Design James Design document review minute
1.Define the policies and procedures intended to prevent defects from occurring in
the management process
2.Document the policies & procedures
3.Inform and train the staff to use it
Step 3) Review the process
The scope of SQA applied to all products that The scope of Software Testing applies to a
will be created by the organization particular product being tested.
What is Quality Control?
• It does not deal with the processes used to create a product; rather it examines
the quality of the "end products" and the final outcome.
• The main aim of Quality control is to check whether the products meet the
specifications and requirements of the customer. If an issue or problem is
identified, it needs to be fixed before delivery to the customer.
• QC also evaluates people on their quality level skill sets and imparts training and
certifications. This evaluation is required for the service based organization and
helps provide "perfect" service to the customers.
Sometimes, QC is confused with the QA. Quality control is to examine the product
or service and check for the result. Quality assurance is to examine the processes
and make changes to the processes which led to the end-product.
Test progress monitoring and control
• Test progress monitoring and control provides visibility to the
management team about the progress of the testing activity.
3 Defect fixing 0% 0% 0%
failure rate
Test Control
• Rescheduling a test if the number of incidents
is very high or the number of defects is high.
• Retesting a module or a few programs if the
patterns identified by the testing team
indicate towards that.
• Revisiting the testing schedule if the test
environment preparation gets delayed.
What is Incident?
2.Defect: This is a term usually used by testers. When tester finds a mistake or
problem then it is referred to as Defect.
• It is a very critical process as this will ensure that the incidents get
addressed is a systematic and effective manner.
#5. Incident Closure: The resolution is retested and in case the system is working as
intended, the incident is closed.
Software Configuration Management
•It may be a case where multiple version, branches, authors are involved in a software
config project, and the team is geographically distributed and works concurrently
•SCM process is also beneficial to control the costs involved in making changes to a
system
• Configuration Identification
• Baselines
• Change Control
• Configuration Status Accounting
• Configuration Audits and Reviews
Configuration Identification:
• Configuration identification is a method of determining the scope of the software
system. With the help of this step, you can manage or control something even if you
don't know what it is.
• It is a description that contains the CSCI type (Computer Software Configuration Item),
a project identifier and version information.
•The process starts with basic objects which are grouped into aggregate objects. Details of
what, why, when and by whom changes in the test are made
•Every object has its own features that identify its name that is explicit to all other objects
•List of resources required such as the document, the file, tools, etc.
Example:
1. Instead of naming a File login.php its should be named login_v1.2.php where v1.2
stands for the version number of the file
2. Instead of naming folder "Code" it should be named "Code_D" where D represents code
should be backed up daily.
Baseline:
Change control is a procedural method which ensures quality and consistency when
changes are made in the configuration object. In this step, the change request is
submitted to software configuration manager.
•The request will be checked based on the technical merit, possible side effects and
overall impact on other configuration objects.
•It manages changes and making configuration items available during the software
lifecycle
Configuration Status Accounting:
Configuration status accounting tracks each release during the SCM process. This
stage involves tracking what each version has and the changes that lead to this
version.
•Keeps a record of all the changes made to the previous baseline to reach a new
baseline
Software Configuration audits verify that all the software product satisfies
the baseline needs. It ensures that what is built is what is delivered.
•SCM audits also ensure that traceability is maintained during the process.
2. Developer
3. Auditor
5. User
The end user should understand the key SCM terms to ensure he has the latest
version of the software