Fundamentals of Software Testing: The Test Process, Lecture notes of Software Engineering

An overview of the fundamental test process in software testing. It covers the basic steps of planning and control, analysis and design, implementation and execution, and evaluating exit criteria and reporting. The document also discusses the concepts of entry and exit criteria, test coverage, and test control.

Typology: Lecture notes

2020/2021

Uploaded on 07/03/2021

muhammad-haris-15
muhammad-haris-15 🇵🇰

6 documents

1 / 19

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chapter 1&2:
Introduction-Fundamentals of Testing
Software Testing
Lecture 2
Fundamental Test
Process
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Partial preview of the text

Download Fundamentals of Software Testing: The Test Process and more Lecture notes Software Engineering in PDF only on Docsity!

Chapter 1&2:

Introduction-Fundamentals of Testing

Software Testing

Lecture 2

Fundamental Test Process

Fundamental Test Process The fundamental test process divides into the following basic steps:

  1. Planning and Control
  2. Analysis and Design
  3. Implementation and Execution
  4. Evaluating exit criteria and Reporting
  5. Test Closure activities
  1. Planning and Control PLANNING: i. To determine the scope and risks and identify the objectives of testing. ii. To determine the test approach(A test approach is the test strategy implementation of a project, defines how testing would be carried out.). iii. To implement the test policy and/or the test strategy. iv. To determine the required test resources like people, test environments, PCs, etc. v. To schedule test analysis and design tasks, test implementation, execution and evaluation. vi. To determine the Exit criteria(The conditions that must be met before testing should be concluded.) for this we need to set criteria such as Coverage criteria (amount of testing performed by a set of test cases is Test Coverage).

Entry Criteria, Exit Criteria, Test Coverage

  • (^) Entry Criteria: The prerequisites that must be achieved before commencing the testing process OR Specific conditions or on-going activities that must be present before a process can begin.
  • (^) Exit Criteria: The conditions that must be met before testing should be concluded OR The specific conditions or on-going activities that should be fulfilled prior to completing the software testing life cycle.
  • (^) Test Coverage: I t is a technique to ensure that your tests are actually testing your code or how much of your code you exercised by running the test. ->It helps in finding area of a requirement not implemented by a set of test cases. And also to create additional test cases to increase coverage.
  1. Analysis and Design i. To review the test basis (source of information or the document that is needed to write test cases and also for test analysis). ii. To identify test conditions. iii. To design the tests cases: determine ‘how’ the identified test conditions are going to be exercised.

iv. To check testability ( This process includes checking the ease with which

interfaces can be addressed (interface openness) and the ease with which the test object can be separated into smaller, more easily testable units. These issues need to be addressed during development and the test object should be designed and programmed accordingly. The results of this analysis are also used to state and prioritize the test conditions based on the general objectives of the test. The test

conditions state exactly what shall be tested. ) of the requirements and system.

v. To design the test environment set-up and identify and required infrastructure and tools

  1. Implementation and Execution Test Implementation: i. To develop and prioritize our test cases by using techniques and create test data for those tests. ii. To create test suites (It is a container that has a set of tests which helps testers in executing and reporting the test execution status. It can take any of the three states namely Active, In-progress and completed) from the test cases for efficient test execution. Test Scenario/Test Suites Vs Test Case
  • Test scenarios are rather unclear and cover a wide range of possibilities. Testing is all about being very specific.
  • (^) For a Test Scenario: Check Login Functionality there many possible test cases are: Test Case 1: Check results on entering valid User Id & Password Test Case 2: Check results on entering Invalid User ID & Password Test Case 3: Check response when a User ID is Empty & Login Button is pressed, and many more ) iii. To implement and verify the environment.
  1. Implementation and Execution Test Execution: i. To execute test suites and individual test cases following the test procedures. ii. To re-execute the tests that previously failed in order to confirm a fix. This is known as confirmation testing or re-testing. iii. To log the outcome of the test execution and record the identities and versions of the software under tests. iv. To Compare actual results with expected results. v. Where there are differences between actual and expected results, it report discrepancies as Incidents.
  1. Evaluating Exit criteria and Reporting Exit criteria come into picture, when:
    • (^) Maximum test cases are executed with certain pass percentage.
    • (^) Bug rate falls below certain level.
    • (^) When achieved the deadlines. Evaluating exit criteria has the following major tasks: i. To check the test logs(The test log is the file containing the test execution result information tester name, date-time of execution, actual result, Test result (pass/fail). The test log is used to log the relevant details about the execution of each release version test. Its purpose is to share information among testers, users, developers, and others.) against the exit criteria specified in test planning. ii. To assess if more test are needed or if the exit criteria specified should be changed. iii. To write a test summary report for stakeholders.

Logical and concrete test cases Example: Using the sales software, the car dealer is able to define discount rules for his salespeople: With a price of less than $15.000, no discount shall be given. For price of $20.000, 5% is OK. If the price is below $25.000, a 7% discount is possible. For higher prices, 8.5% can be granted.

  • (^) Price < 15.000 discount = 0%
  • (^) 15.000 <= price >= 20.000 discount = 5%
  • 20.000 < price < 25.000 discount = 7%
  • (^) price <=25.000 discount = 8.5%

Logical and Concrete Tables

Concrete Test table

Logical Test Table

The Psychology of Testing

The Psychology of Testing

Thank you