Software Testing Plan

Ref: https://www.youtube.com/watch?v=NiDe8lj-wGs

15 Attributes in test plan

  1. Objectiive : Aim of test plan

  2. Scope : Features going to be tested and not tested

  3. Testing Methodology :
    Eg: For Web apps
    Ref1 , Ref2

    1. Unit Testing : Specify and test one point of the contract of single method of a class.
    2. Integration Testing : There is whole spectrum there, from testing integration between two classes, to testing integration with the production environment.Thus, the identification of misconceptions about how to interact with other components is the goal of integration testing. In integration testing you bring together those components, the interactions between which you want to test.
    3. Smoke testing : A simple integration test where we just check that when the system under test is invoked it returns normally and does not blow up.
    4. Sanity Testing : Subset of Regression Testing.Smoke Testing verifies the critical functionalities of the system whereas Sanity Testing verifies the new functionality like bug fixes.
    5. Function Testing : (Sub-)system tests on the level of your software system (therefore, not sub- but just system tests).
    6. Regression Test : A test that was written when a bug was fixed. It ensures that this specific bug will not occur again. The full name is "non-regression test".
    7. Acceptance test: Test that a feature or use case is correctly implemented. It is similar to an integration test, but with a focus on the use case to provide rather than on the components involved.
    8. (Sub-)System test: Tests a system as a black box. Dependencies on other systems are often mocked or stubbed during the test (otherwise it would be more of an integration test).
    9. Pre-flight check: Tests that are repeated in a production-like environment, to alleviate the 'builds on my machine' syndrome. Often this is realized by doing an acceptance or smoke test in a production like environment.
    10. Performance Testing : Performance testing is the practice of evaluating how a system performs in terms of responsiveness and stability under a particular workload. Performance tests are typically executed to examine speed, robustness, reliability, and application size. The process incorporates “performance” indicators such as:
    • Browser, page, and network response times
    • Server request processing times
    • Acceptable concurrent user volumes
    • Processor memory consumption; number and type of errors that might be encountered with app
  4. Approach : Way about we test. Pre, Running and Post Documentations eg: Test Scenarios(high Level), Test cases(specific), Flow charts etc

  5. Assumption : eg: about support, knowledge transfer, proper dcoumentations like CRS(Customer Requirement Specification), SRS(System Requirement Specification), FRS(functional requirement specification), resources etc from development team

  6. Risk: potential chances of failure/breaking

  7. Backup plan/ mitigation plan : To overcome percentage of RISK (mistakes)

  8. Roles and Responsibility: Of Test mananger, Test Lead, Test Engineer etc to be written

  9. Scheduling : Expected Start, end , daily updates etc

  10. Defect Tracking: Tool (eg: using Jira, Bugzilla etc), Procedure, Severity Types, Priority Types

  11. Test Environment/Test Bed : Eg: in payment which card,which wi fi etc

  12. Enry and Exit Criteria : Set of conditions to start and end any kind of testing

  13. Test automation : Which features are to be used, tools etc

  14. Deliverables : Outcome from all testing, with reports (test scenarios, cases, traceabilithy matrix, defect report, execution report, release notes(version, procedure to insall, aditional features etc) etc)

  15. Templates : To follow while doing test and documentation/reports