ESTABLISHING
TEST POLICY
LECTURE-2
TEST POLICY
A test policy is a high-level document that defines the overall vision, goals, and principles of
testing in an organization. It describes the roles and responsibilities of the test team, the test
standards and processes, the test tools and techniques, and the quality criteria and metrics. A
test policy is usually aligned with the business objectives and the quality policy of the organization.
It provides a consistent and coherent framework for testing across different projects and programs.
TEST STRATEGY
A test strategy is a mid-level document that outlines the approach and scope of testing
for a specific project or program. It defines the test objectives, the test levels and types,
the test methods and models, the test resources and environment, the test risks and
mitigation, and the test deliverables and reporting. A test strategy is derived from the test
policy and the project requirements. It guides the test planning and execution
activities and helps to ensure that the test coverage and quality are adequate.
TEST PLAN
A test plan is a low-level document that details the specific tasks and activities of testing for a
particular test level or type. It specifies the test items and features, the test cases and scenarios,
the test data and procedures, the test schedule and milestones, the test entry and exit criteria,
and the test dependencies and assumptions. A test plan is based on the test strategy and the test
design specifications. It directs the test implementation and evaluation activities and helps to monitor
and control the test progress and results.
TEST POLICY VS TEST STRATEGY VS TEST PLAN
• A test policy is the most abstract and general document and applies to the whole organization; it is
relatively stable and rarely changes, usually owned and approved by the senior management.
• A test strategy is more concrete and specific, applying to a project or program, and may change
depending on the project changes; it is usually owned and approved by the test manager.
• A test plan is the most detailed and granular document, applying to a test level or type, and may
change frequently depending on the test execution feedback; it is usually owned and approved by
the test lead.
TEST POLICY SHALL DESCRIBE THE
FOLLOWINGS:
1. Clear answer to the question of “What does testing means for the organization”
2. Test objectives that the organization have
3. The definition of the testing process used by the organization to increase the quality of
the software developed
4. How the organization will measure the effectiveness and efficiency of the test while
achieving goals
5. How the organization will improve its test processes
Testing policies in software involves verifying whether the software adheres to specified policies,
rules, or standards. These policies can include security measures, regulatory compliance, coding
standards, and other guidelines.
TEST POLICY CONTENTS
TEST POLICY IS A SHORT DOCUMENT, SUMMARIZED AT A HIGH LEVEL THAT CONTAINS THE FOLLOWING:
• Outline the advantages of testing, business value delivered to the organization which
justifies the cost of quality
• Define test objectives like confidence building, defect detection and reduce quality risks
• Describe the methods to measure test efficiency and effectiveness in fulfilling test
objectives
• Summarize the processes used in testing
• Describe ways for the organization to enhance its testing processes
TEST FACTORS
For designing Test Cases the following factors are considered:
1.Correctness
2.Negative
3.User Interface
4.Usability
5.Performance
6.Security
7.Integration
8.Reliability
9.Compatibility
• Correctness : Correctness is the minimum requirement of software, the essential purpose of
testing. The tester may or may not know the inside details of the software module under test e.g.
control flow, data flow etc.
• Negative : In this factor we can check what the product it is not supposed to do.
User Interface : In UI testing we check the user interfaces. For example in a web page we may
check for a button. In this we check for button size and shape. We can also check the navigation
links.
Usability : Usability testing measures the suitability of the software for its users, and is directed at
measuring the following factors with which specified users can achieve specified goals in particular
environments.
1.Effectiveness : The capability of the software product to enable users to achieve specified goals with
the accuracy and completeness in a specified context of use.
2.Efficiency : The capability of the product to enable users to expend appropriate amounts of resources
in relation to the effectiveness achieved in a specified context of use.
Performance : In software engineering, performance testing is testing that is performed from one
perspective to determine how fast some aspect of a system performs under a particular workload.
Performance testing can serve various purposes. It can demonstrate that the system needs performance
criteria.
1.Load Testing: This is the simplest form of performance testing. A load test is usually conducted to
understand the behavior of the application under a specific expected load.
2.Stress Testing: Stress testing focuses on the ability of a system to handle loads beyond maximum capacity.
System performance should degrade slowly and predictably without failure as stress levels are increased.
3.Volume Testing: Volume testing belongs to the group of non-functional values tests. Volume testing refers
to testing a software application for a certain data volume. This volume can in generic terms be the
database size or it could also be the size of an interface file that is the subject of volume testing.
Security : Process to determine that an Information System protects data and maintains functionality as intended.
The basic security concepts that need to be covered by security testing are the following:
1.Confidentiality : A security measure which protects against the disclosure of
information to parties other than the intended recipient that is by no means the only way
of ensuring
2.Integrity: A measure intended to allow the receiver to determine that the information
which it receives has not been altered in transit other than by the originator of the
information.
3.Authentication: A measure designed to establish the validity of a transmission,
message or originator. Allows a receiver to have confidence that the information it
receives originated from a specific known source.
4.Authorization: The process of determining that a requester is allowed to receive a
service/perform an operation.
• Integration : Integration testing is a logical extension of unit testing. In its simplest form, two units
that have already been tested are combined into a component and the interface between them is tested.
• Reliability : Reliability testing is to monitor a statistical measure of software maturity over time and
compare this to a desired reliability goal.
• Compatibility : Compatibility testing of a part of software's non-functional tests. This testing is
conducted on the application to evaluate the application's compatibility with the computing
environment. Browser compatibility testing can be more appropriately referred to as user experience
testing. This requires that the web applications are tested on various web browsers to ensure the
following:
1. Users have the same visual experience irrespective of the browsers through which they view the
web application.
2. In terms of functionality , the application must behave and respond the same across various
browsers.
STEPS OF SOFTWARE TESTING PROCESS
There are 11 steps software testing process is an experience based practical approach for solution to test
assignment.
Step-1: Assess Development Plan and Status –
This initiative may be prerequisite to putting together Verification, Validation, and Testing Plan to evaluate
implemented software solution. During this step, testers challenge completeness and correctness of event plan.
Based on extensiveness and completeness of Project Plan testers can estimate quantity of resources they’re
going to got to test implemented software solution.
STEP-2: DEVELOP THE TEST PLAN –
Forming plan for testing will follow an equivalent pattern as any software planning process.
The structure of all plans should be an equivalent, but content will vary supported degree of
risk testers perceive as related to software being developed.
STEP-3: TEST SOFTWARE REQUIREMENTS –
• Incomplete, inaccurate, or inconsistent requirements cause most software failures. The
inability to get requirement right during requirements gathering phase can also increase
cost of implementation significantly. Testers, through verification, must determine that
requirements are accurate, complete, and they do not conflict with another.
STEP-4: TEST SOFTWARE DESIGN –
This step tests both external and internal design primarily through verification techniques.
The testers are concerned that planning will achieve objectives of wants, also because
design being effective and efficient on designated hardware.
STEP-5: BUILD PHASE TESTING –
• The method chosen to build software from internal design document will determine
type and extensiveness of testers needed. As the construction becomes more automated,
less testing are going to be required during this phase. However, if software is made using
waterfall process, it’s subject to error and will be verified. Experience has shown that it’s
significantly cheaper to spot defects during development phase, than through dynamic
testing during test execution step.
STEP-6: EXECUTE AND RECORD RESULT –
This involves testing of code during dynamic state. The approach, methods, and tools laid
out in test plan are going to be wont to validate that executable code actually meets stated
software requirements, and therefore the structural specifications of design.
STEP-7: ACCEPTANCE TEST –
Acceptance testing enables users to gauge applicability and usefulness of software in
performing their day-to-day job functions. This tests what user believes software should
perform, as against what documented requirements state software should perform.
STEP-8: REPORT TEST RESULTS –
Test reporting is continuous process. It may be both oral and written. It is important that
defects and concerns be reported to the appropriate parties as early as possible, so that
corrections can be made at the lowest possible cost.
STEP-9: THE SOFTWARE INSTALLATION –
• Once test team has confirmed that software is prepared for production use, power to
execute that software during production environment should be tested. This tests interface
to operating software, related software, and operating procedures.
STEP-10: TEST SOFTWARE CHANGES –
Whenever requirements changes, test plan must change, and impact of that change on
software systems must be tested and evaluate.
STEP-11: EVALUATE TEST EFFECTIVENESS –
Testing improvement can best be achieved by evaluating effectiveness of testing at top of
every software test assignment. While this assessment is primarily performed by testers, it
should involve developers, users of software, and quality assurance professionals if function
exists within the IT organization.

Software test policy and test plan in development

  • 1.
  • 2.
    TEST POLICY A testpolicy is a high-level document that defines the overall vision, goals, and principles of testing in an organization. It describes the roles and responsibilities of the test team, the test standards and processes, the test tools and techniques, and the quality criteria and metrics. A test policy is usually aligned with the business objectives and the quality policy of the organization. It provides a consistent and coherent framework for testing across different projects and programs.
  • 3.
    TEST STRATEGY A teststrategy is a mid-level document that outlines the approach and scope of testing for a specific project or program. It defines the test objectives, the test levels and types, the test methods and models, the test resources and environment, the test risks and mitigation, and the test deliverables and reporting. A test strategy is derived from the test policy and the project requirements. It guides the test planning and execution activities and helps to ensure that the test coverage and quality are adequate.
  • 4.
    TEST PLAN A testplan is a low-level document that details the specific tasks and activities of testing for a particular test level or type. It specifies the test items and features, the test cases and scenarios, the test data and procedures, the test schedule and milestones, the test entry and exit criteria, and the test dependencies and assumptions. A test plan is based on the test strategy and the test design specifications. It directs the test implementation and evaluation activities and helps to monitor and control the test progress and results.
  • 5.
    TEST POLICY VSTEST STRATEGY VS TEST PLAN • A test policy is the most abstract and general document and applies to the whole organization; it is relatively stable and rarely changes, usually owned and approved by the senior management. • A test strategy is more concrete and specific, applying to a project or program, and may change depending on the project changes; it is usually owned and approved by the test manager. • A test plan is the most detailed and granular document, applying to a test level or type, and may change frequently depending on the test execution feedback; it is usually owned and approved by the test lead.
  • 6.
    TEST POLICY SHALLDESCRIBE THE FOLLOWINGS: 1. Clear answer to the question of “What does testing means for the organization” 2. Test objectives that the organization have 3. The definition of the testing process used by the organization to increase the quality of the software developed 4. How the organization will measure the effectiveness and efficiency of the test while achieving goals 5. How the organization will improve its test processes
  • 7.
    Testing policies insoftware involves verifying whether the software adheres to specified policies, rules, or standards. These policies can include security measures, regulatory compliance, coding standards, and other guidelines.
  • 8.
    TEST POLICY CONTENTS TESTPOLICY IS A SHORT DOCUMENT, SUMMARIZED AT A HIGH LEVEL THAT CONTAINS THE FOLLOWING: • Outline the advantages of testing, business value delivered to the organization which justifies the cost of quality • Define test objectives like confidence building, defect detection and reduce quality risks • Describe the methods to measure test efficiency and effectiveness in fulfilling test objectives • Summarize the processes used in testing • Describe ways for the organization to enhance its testing processes
  • 9.
    TEST FACTORS For designingTest Cases the following factors are considered: 1.Correctness 2.Negative 3.User Interface 4.Usability 5.Performance 6.Security 7.Integration 8.Reliability 9.Compatibility
  • 10.
    • Correctness :Correctness is the minimum requirement of software, the essential purpose of testing. The tester may or may not know the inside details of the software module under test e.g. control flow, data flow etc. • Negative : In this factor we can check what the product it is not supposed to do. User Interface : In UI testing we check the user interfaces. For example in a web page we may check for a button. In this we check for button size and shape. We can also check the navigation links.
  • 11.
    Usability : Usabilitytesting measures the suitability of the software for its users, and is directed at measuring the following factors with which specified users can achieve specified goals in particular environments. 1.Effectiveness : The capability of the software product to enable users to achieve specified goals with the accuracy and completeness in a specified context of use. 2.Efficiency : The capability of the product to enable users to expend appropriate amounts of resources in relation to the effectiveness achieved in a specified context of use.
  • 12.
    Performance : Insoftware engineering, performance testing is testing that is performed from one perspective to determine how fast some aspect of a system performs under a particular workload. Performance testing can serve various purposes. It can demonstrate that the system needs performance criteria. 1.Load Testing: This is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the application under a specific expected load. 2.Stress Testing: Stress testing focuses on the ability of a system to handle loads beyond maximum capacity. System performance should degrade slowly and predictably without failure as stress levels are increased. 3.Volume Testing: Volume testing belongs to the group of non-functional values tests. Volume testing refers to testing a software application for a certain data volume. This volume can in generic terms be the database size or it could also be the size of an interface file that is the subject of volume testing.
  • 13.
    Security : Processto determine that an Information System protects data and maintains functionality as intended. The basic security concepts that need to be covered by security testing are the following: 1.Confidentiality : A security measure which protects against the disclosure of information to parties other than the intended recipient that is by no means the only way of ensuring 2.Integrity: A measure intended to allow the receiver to determine that the information which it receives has not been altered in transit other than by the originator of the information. 3.Authentication: A measure designed to establish the validity of a transmission, message or originator. Allows a receiver to have confidence that the information it receives originated from a specific known source. 4.Authorization: The process of determining that a requester is allowed to receive a service/perform an operation.
  • 14.
    • Integration :Integration testing is a logical extension of unit testing. In its simplest form, two units that have already been tested are combined into a component and the interface between them is tested. • Reliability : Reliability testing is to monitor a statistical measure of software maturity over time and compare this to a desired reliability goal. • Compatibility : Compatibility testing of a part of software's non-functional tests. This testing is conducted on the application to evaluate the application's compatibility with the computing environment. Browser compatibility testing can be more appropriately referred to as user experience testing. This requires that the web applications are tested on various web browsers to ensure the following: 1. Users have the same visual experience irrespective of the browsers through which they view the web application. 2. In terms of functionality , the application must behave and respond the same across various browsers.
  • 15.
    STEPS OF SOFTWARETESTING PROCESS There are 11 steps software testing process is an experience based practical approach for solution to test assignment. Step-1: Assess Development Plan and Status – This initiative may be prerequisite to putting together Verification, Validation, and Testing Plan to evaluate implemented software solution. During this step, testers challenge completeness and correctness of event plan. Based on extensiveness and completeness of Project Plan testers can estimate quantity of resources they’re going to got to test implemented software solution.
  • 16.
    STEP-2: DEVELOP THETEST PLAN – Forming plan for testing will follow an equivalent pattern as any software planning process. The structure of all plans should be an equivalent, but content will vary supported degree of risk testers perceive as related to software being developed.
  • 17.
    STEP-3: TEST SOFTWAREREQUIREMENTS – • Incomplete, inaccurate, or inconsistent requirements cause most software failures. The inability to get requirement right during requirements gathering phase can also increase cost of implementation significantly. Testers, through verification, must determine that requirements are accurate, complete, and they do not conflict with another.
  • 18.
    STEP-4: TEST SOFTWAREDESIGN – This step tests both external and internal design primarily through verification techniques. The testers are concerned that planning will achieve objectives of wants, also because design being effective and efficient on designated hardware.
  • 19.
    STEP-5: BUILD PHASETESTING – • The method chosen to build software from internal design document will determine type and extensiveness of testers needed. As the construction becomes more automated, less testing are going to be required during this phase. However, if software is made using waterfall process, it’s subject to error and will be verified. Experience has shown that it’s significantly cheaper to spot defects during development phase, than through dynamic testing during test execution step.
  • 20.
    STEP-6: EXECUTE ANDRECORD RESULT – This involves testing of code during dynamic state. The approach, methods, and tools laid out in test plan are going to be wont to validate that executable code actually meets stated software requirements, and therefore the structural specifications of design.
  • 21.
    STEP-7: ACCEPTANCE TEST– Acceptance testing enables users to gauge applicability and usefulness of software in performing their day-to-day job functions. This tests what user believes software should perform, as against what documented requirements state software should perform.
  • 22.
    STEP-8: REPORT TESTRESULTS – Test reporting is continuous process. It may be both oral and written. It is important that defects and concerns be reported to the appropriate parties as early as possible, so that corrections can be made at the lowest possible cost.
  • 23.
    STEP-9: THE SOFTWAREINSTALLATION – • Once test team has confirmed that software is prepared for production use, power to execute that software during production environment should be tested. This tests interface to operating software, related software, and operating procedures.
  • 24.
    STEP-10: TEST SOFTWARECHANGES – Whenever requirements changes, test plan must change, and impact of that change on software systems must be tested and evaluate.
  • 25.
    STEP-11: EVALUATE TESTEFFECTIVENESS – Testing improvement can best be achieved by evaluating effectiveness of testing at top of every software test assignment. While this assessment is primarily performed by testers, it should involve developers, users of software, and quality assurance professionals if function exists within the IT organization.