Task -5

P KP K
15 min read

Test Scenario:-

Test scenario is a concise document that provides a brief overview of the software’s complete functionality, primarily from an end-user perspective. Its purpose is to replicate real-life situations that users may encounter while using the software application.

This document focuses on identifying what needs to be tested, enabling testing teams to maintain control over the testing process. Test scenarios are easily created and updated in real-time due to their high-level actions and succinct descriptions. It can be called a test condition or test possibility. Unlike a detailed step-by-step guide, test scenarios outline testing requirements more generally.

Test scenarios predominantly exist with a strategic focus on testing objectives rather than being tied to specific procedures. Any testing team member can effortlessly access the document, quickly understand which tests have been completed, and proceed to the next scenario. They often convey the business motivation and justification for testing a particular feature. For instance, a suitable test scenario could involve “Verifying the software’s login functionality.”

Here are some key points on the test scenario:

  • A test scenario can be defined as a feature or module within the software application subject to evaluation.

  • It represents a story or situation used to test a particular use case. Test scenarios encompass multiple test cases.

  • When conducting testing of a specific scenario, testers validate and perform actions to assess how the software under test is utilized.

Examples of Test Scenarios

Test Scenario: User Registration Process

Objective: The primary aim is to authenticate the seamless functionality of the user registration process on a website, ensuring the successful creation of new user accounts.

Preconditions:

  • The website is fully accessible and operational, without glitches or malfunctions.

  • The database is either empty or the specific user account being tested does not already exist.

Steps for the User Registration Test Scenario:

  1. Launch the website and proceed to the registration page.

  2. Validate the presence of all requisite fields on the registration form, including:

    • Unique Username

    • Email Address

    • Password

    • Confirm Password

    • Captcha (if applicable)

    • Terms and Conditions Checkbox (if applicable)

  3. Populate each field with valid and distinctive information:

    • Opt for a unique username that complies with the character requirements.

    • Enter a legitimate email address that has not been utilized previously.

    • Provide a robust and distinctive password.

    • Verify that the confirmed password matches the original entry.

    • Provide any additional mandatory fields, if any.

  4. Successfully submit the registration form by selecting the “Register” or “Sign Up” button.

Expected Outcomes:

  • The registration form should load impeccably without encountering any errors or issues.

  • All mandatory fields should be aptly labelled, accompanied by appropriate input validation and error messages in case of invalid data entries.

  • The registration form should strictly prohibit the utilization of duplicate usernames or email addresses, and suitable error messages should be displayed for such instances.

  • The password should remain concealed (masked) while the user inputs it.

  • Upon successfully completing the form, the user should either be redirected to a confirmation page or receive a confirmation email.

Alternative Scenarios:

Attempt to register using an existing username or email address.

  • Expected Result: The system should exhibit an appropriate error message indicating that the username or email address is already in use.

Attempt to register with an invalid email format.

  • Expected Result: The system should display an error message indicating that the email format is invalid.

Attempt to register with a weak password.

  • Expected Result: The system should display an error message specifying that the password does not meet the required strength, along with the specific criteria for a strong password.

Verification of the account confirmation process (if applicable).

  • Expected Result: If the registration process entails an email confirmation step, the user should receive an email containing a verification link. Clicking on this link should confirm the account, granting the user successful login access.

Examination of the “Terms and Conditions” checkbox behavior (if applicable).

  • Expected Result: The user should be unable to proceed with the registration process unless they accept the terms and conditions. Failure to select the checkbox should prompt the display of an error message.

Post-conditions:

  • The user account should be successfully created and securely stored in the database.

  • The user should be able to log in using the registered credentials.

In the next section of the test scenario vs test case tutorial, let’s see what benefits a test scenario provides.

Advantages of Test Scenarios:

Test scenarios have some advantages that all testers and developers should know. Here are some of those:

  • It covers the entire functionality of the software applications.

  • Test scenarios embrace adaptability, allowing for modifications as the project unfolds or new requirements emerge.

  • Testing approaches remain consistent across diverse testers and testing cycles with test scenarios.

  • Defining test scenarios based on business priorities and critical functionalities enables testers to concentrate on high-risk areas.

  • As the structure of test case design, test scenarios guide testers in crafting intricate test cases aligned with specific testing objectives.

  • It precisely defines the scope of testing, enabling testers to determine the aspects of the application to be covered in each scenario.

  • It simulates the real-user scenario as per the expectation of the end-users.

TEST CASE:

A test case serves as the starting point for test execution. It is a document that encompasses the necessary conditions to validate the proper functioning of software applications. These conditions include prerequisites, case names, detailed user steps, input values, expected outcome, actual outcome (after completing the test), software status (before and after tests), and final remarks.

Each test aims to verify if the website or mobile application aligns with the anticipated result described in the test case. Consequently, the test case outlines the setup and execution instructions and the desired outcome. Test cases are derived from pre-defined test scenarios and establish specific protocols to ensure adherence to particular requirements.

Here are some key points on the test cases:

  • A test case involves a predetermined series of steps to test the specific functionality of the software application.

  • The test cases include defined conditions or variables that allow you to compare actual and expected outcomes, thereby deciding if the software application aligns with the end user’s requirements.

  • Test cases help you assess whether a software application or its particular feature functions as intended.

Type of Test Cases

Different types of test cases depending on the testing process being executed. Here are some of those:

  • Functional test cases: These test cases establish the functionality of an application’s user interface in conjunction with its backend systems, ensuring that it performs all intended actions. These tests are conducted without knowing the internal technical workings, focusing solely on how the website or app responds when users interact. These tests can be executed in each sprint as soon as a feature is developed. Test cases can be written before generating the actual code based on precise requirements.

  • UI test cases: These test cases evaluate the appearance and functionality of each user interface element to ensure it aligns with the intended design. The tests encompass aesthetic aspects such as appearance, spelling, grammar and functional aspects like broken links and redirects. Often, design teams contribute to the creation of these test cases. Additionally, ensuring cross browser compatibility falls within the scope of UI test cases.

  • Performance test cases: These test cases validate the loading speed and responsiveness of a website or application. The objective is to determine how quickly the software application responds appropriately to user actions. Performance test cases should also include tests to ensure the optimal functioning of the software, even under high user loads, including load testing, spike testing, and endurance testing.

  • Integration test cases: These test cases examine the integration and interaction between software modules or components. The focus is on assessing whether the interfaces between these components work together effectively to produce the desired results in response to user actions.

  • Usability test cases: In this type of test case, the overall usability of the application rather than specific features are analyzed. The steps included in these tests mimic how an end user would naturally approach and utilize the app, including common user paths. The main question to address is whether users can efficiently utilize all the promised features of the app.

  • Database test cases: These test cases verify the functionality of the backend systems that enable the application to operate as expected. They examine how the app’s architecture processes user requests triggered by actions such as clicking buttons, links, menu items, or design elements in the user interface.
    Naturally, database tests require testers to understand the app’s inner workings deeply. It is crucial to ensure consistent and secure data storage and usage by comprehending how data storage and usage mechanisms function.

  • Security test cases: Test cases in this category aim to verify the security of user data and transactions during and after app usage. They assess the app’s resilience against penetration attempts, breaches, hacks, and unauthorized access to protected data.

  • Examples of Test Cases

    In this section of the test scenario vs test case tutorial, we will understand the test case in more detail by illustrating an example. In this example, let’s create a test case for the scenario of “checking the login functionality.”

    However, before you write a test case, some are some points to be considered:

    • You need to obtain a prototype of the login screen to perform the test.

    • You need to assess the functional requirement and SRS documents related to a software project.

    • You can initiate writing a test case when you get the prototype and requirement documents.

Following can be the test cases to check the functionality of the login page.

  • When a valid email id and password are entered, evaluate the behavior of the software application.

  • When an invalid email id and password are entered, evaluate the behavior of the software application.

  • When a valid email id and invalid password are entered, evaluate the behavior of the software application.

  • When an invalid email id and valid password are entered, evaluate the behavior of the software application.

  • When a sign is entered, but the email id and password are left blank, evaluate the behavior of the software application.

  • Evaluate if “Forgot your password” is functioning as per expectation.

  • When valid and invalid phone numbers/passwords are entered, evaluate the behavior of the software application.

  • When “keep me signed” is selected, evaluate the behavior of the software application.

TEST PLAN:

A test plan is a comprehensive document outlining the strategy, scope, and objectives of software testing. It includes key components like test objectives, test environments, test cases, and schedules. The purpose of a test plan is to ensure systematic and effective testing, identify defects, and improve software quality. Benefits include minimizing risks, enhancing product reliability, and meeting customer expectations.

It is the most important activity in ensuring that software testing is done according to plan. It acts as the go-to template for conducting software testing activities that are fully monitored and controlled by the testing manager. Developing a test plan involves the contribution of the test lead, the test manager, and the test engineer.

Along with identifying the objectives and scope of the software testing process, it specifies the methods to resolve any risks or errors. It also helps determine whether a product meets the expected quality standards before deployment.

Test Plan Examples

Developing a test plan is an essential step in the software testing process. It is a document that outlines the strategy, approach, resources, and schedule for testing a software application. A well-written product test plan helps ensure that the software is thoroughly tested, meets the requirements, and is free of defects. It should be developed early in the software development process to incorporate testing into the overall development schedule. These application test plans must be reviewed and approved by the key stakeholders before testing begins.

To develop a test plan, you need to follow some steps in testing process. Here is a test plan example for a hypothetical software application:

  • Introduction:

  • This testing plan is for the Web Application XYZ, version 1.0. The objective of this testing is to ensure that the web application meets the requirements and is free of defects.

  • Test Items:

    • Web Application: XYZ, version 1.0

    • Build Number: 101

  • Features to be tested:

    • User login and registration

    • User profile management

    • Search and filtering functionality

    • Shopping cart and checkout

    • Payment gateway integration

    • Email and SMS notifications

    • Data export

  • Test Environment:

    • Operating System: Windows 10, MacOS

    • Browser: Google Chrome, Firefox, Safari

    • Hardware: Intel i5 processor, 8GB RAM

    • Server: AWS

  • Test Schedule:

    • Test Planning: e.g., January 15th - January 20th

    • Test Case Development: e.g., January 21st - January 25th

    • Test Execution: e.g., January 26th - February 5th

    • Test Closure: e.g., February 6th

  • Test Deliverables:

    • Test cases

    • Test scripts

    • Test reports

    • Defect reports

    • Performance test report

    • Responsive test report

  • Test Responsibilities:

    • Test Lead: Responsible for overall test planning and execution

    • Test Engineer: Responsible for developing test cases and scripts, and executing tests

    • Developer: Responsible for fixing defects and providing support during testing

    • Server administrator : Responsible for maintaining the test environment

  • Test Approach:

    • Manual testing will be used to test all the functionalities of the web application

    • Automated testing will be used to test the performance and load of the web application

    • Responsive testing will be done to ensure the web application is compatible with different devices and screen sizes

  • Exit Criteria:

    • All the identified defects must be fixed and verified.

    • All the test cases must be executed and passed.

    • All the test deliverables must be completed and submitted.

    • Performance test should pass the threshold limit.

This is a sample test plan, it may vary depending on the complexity of the web application and the organization's testing process.

Why are Test Plans So Important?

A test plan is the building block of every testing effort. It guides you through the process of checking a software product and clearly defines who will perform each step. A clear software development test plan ensures everyone is on the same page and working effectively towards a common goal.

Whether you are building an app or open-source software, a testing project plan helps you create a strong foundation.

The importance of a high-quality test plan rises when developers and testers need to identify risk areas, allocate the resources efficiently, and determine the order of testing activities. A well-developed testing plan acts as a blueprint that can be referred to at any stage of the product or software development life cycle.

Automation Testing Lifecycle

  • Test Plan + Test Design + Test Strategy:

  • A test plan, test design, and test strategy are all closely related and should be included in it.

    A test plan outlines the overall strategy and approach for testing the software. A test design includes the specific test cases, test scripts, and test data that will be used to test the software. A test strategy outlines the overall approach to testing, such as manual testing or automated testing, and how the testing process will be executed.

    By including all of these elements, it ensures that the testing process is thorough and effective and that the software is thoroughly tested.

    Setting up the test environment:

  • Setting up the test environment is an important step in creating as it involves configuring the hardware and software that will be used for testing, including the operating system, browser versions, and any other relevant details.

    Setting up the test environment ensures that the testing process is consistent and that all necessary areas are covered. It also helps to ensure that the testing process is efficient and effective, and that the software is thoroughly tested.

    TEST STRATEGY:

    A test strategy document is a well-described document that is derived from actual business requirements that guide the whole team about the software testing approach and objectives for each activity in the software testing process.

    • The test strategy document is approved and reviewed by the test team lead, development manager, quality analyst manager, and product manager.

    • The test strategy document specifies the resources, scope, plan, and methodology for different testing activities.

    • It answers all the questions like what needs to get done, how to accomplish it, etc.

Components of a Test Strategy

The test effort, test domain, test setups, and test tools used to verify and validate a set of functions are all outlined in a Test Strategy. It also includes schedules, resource allocations, and employee utilization information. This data is essential for the test team (Test) to be as structured and efficient as possible. A Test Strategy differs from a Test Plan, which is a document that gathers and organizes test cases by functional areas and/or types of testing in a format that can be presented to other teams and/or customers. Both are critical components of the Quality Assurance process since they aid in communicating the breadth of the test method and ensuring test coverage while increasing the testing effort’s efficiency.

Below diagram shows the components of the test strategy:

TEST SUMMARY REPORT:

  • A test report summary that is instructive should be concise and relevant. There are numerous examples of test summary report templates online, but not all of them may be suitable for your case. Therefore, it is crucial to adjust the report after doing a thorough study following the features of our test project.

    Here is a list of what should be included:

    • Test Objective: Specify the testing objectives; doing just that shows the team members understood the test objective and the requirement.

    • Areas Covered: Include the tested product areas and features. Although it doesn’t have to cover every test scenario in great detail, it should at least cover all the major ones.

    • Areas Not Covered: It is crucial to document the product features that were not tested. Any areas not tested can cause concern on the client’s end. So, you need to ensure that anything untested is highlighted and that expectations are set appropriately. Be careful to provide a reason for your main points, such as a limitation on access or a shortage of devices.

    • Testing Approach: This is crucial to discuss because it explains what was tested and how it was done. Make sure to describe in detail the corrective action taken and the different testing strategies used to complete the task.

    • Defect Report: Although a defect report is typically included in a bug report, having one in the test summary report can offer your test report an edge.

    • Platform Details: Products are currently tested on a variety of platforms. Due to the increased demand, not only a testing process now includes various device setups and browsers but also various software releases. Let’s be sure to provide information about each platform and environment in which the product was tested in.

    • Overall Summary: The purpose is to offer feedback on the overall state of the application under test. For the customer to determine how near they are to ship the product to them, it should notify them of any critical issues that were found and how many are still outstanding.

Test summary report

How To Create An Outline Of The Test Report?

Generally, this may differ from company to company based on your testing exercises. However, below are the few traditional essentials of a test summary report.

  • A short evaluation of how well the testing is performed.

  • Quality of testing effort.

  • Quality assessment of the software.

  • The recordings should also include the factors like time taken, and different environments tested.

  • The incident reports included statistics.

  • A brief on the final test results.




0
Subscribe to my newsletter

Read articles from P K directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

P K
P K