Challenge

Project 1 - V&V SW Analysis - I

Black Box Testing

Black box testing is a software testing technique that focuses on testing the functionality of a software application without knowing its internal structure, logic, or code implementation. The tester treats the software as a "black box" and tests its functionality by providing inputs and observing the outputs, without any knowledge of how the software achieves the results.

Test Plan

A test plan is a formalized document that outlines the overall strategy, objectives, scope, approach, resources, schedule, and deliverables for testing a specific software product or system. It provides a detailed plan for how the testing activities will be conducted throughout the software development lifecycle. The primary purpose of a test plan is to ensure that the testing effort is well-organized, thorough, and aligned with the project goals and requirements.

In a black box testing approach, the test plan is instrumental in guiding testers to validate the software's functionality from an external perspective, ensuring that it behaves as expected based on the given inputs and requirements, without requiring knowledge of the internal code or design.

Here's how a test plan is framed in the context of black box testing:

  1. Objectives: Defines the testing goals and objectives, emphasizing the need to ensure that the software meets its intended functionality and adheres to the defined requirements.
  2. Scope: Specifies what functionalities and features of the software will be tested, outlining the inclusions and exclusions within the testing scope.
  3. Test Approach: Describes the black box testing methodologies, techniques, and strategies that will be employed, such as equivalence partitioning, boundary value analysis, and error guessing.
  4. Test Methodology: Functional testing, including positive and negative test cases. User scenario-based testing.
  5. Test Environment: Specifies the configurations, platforms, operating systems, and other environmental factors needed to conduct black box testing.
  6. Assumptions and Risk: Identifies potential risks related to the software's functionality and the assumptions made about its behaviour, which may impact the testing process.
  7. Roles and Responsibilities: 
    1. Test Manager: Overall project management, resource allocation, and direction.
    2. Testers: Test case identification, verification of test approach, and cost management.
  8. Test Schedule: Outlines the timeline and milestones for executing black box testing activities throughout the software development lifecycle. 
  9. Entry and Exit Criteria:  Defines the conditions under which black box testing activities will commence (entry criteria) and conclude (exit criteria).
  10. Test Automation: Features with frequent testing may be automated, while others will be manually tested.
  11. Deliverables: Lists the expected deliverables from the black box testing process, such as test cases, test scenarios, defect reports, and validation reports.
  12. Test Features and Scenarios:
  • US-1:Power On and Display Company Logo
    • Test Case 1:
      • Long press the power button.
    • Expected Result:The company logo is displayed on the screen.
  • US-2:App Icons Order
    • Test Case 2:
      • Power on the phone.
      • Check the bottom bar for icon presence and order.
    • Expected Result:Phone powers on, and all app icons are visible in a grid.
  • US-3:"Call the Phone" Icon
    • Test Case 3:
      • Power on the phone.
    • Expected Result:The "Call the Phone" icon should be the first icon on the bottom bar.
  • US-4:"Dictionary" Icon
    • Test Case 4:
      • Power on the phone.
    • Expected Result:The "Dictionary" icon should be the second icon on the bottom bar.
  • US-5:Contacts Display
    • Test Case 5:
      • Power on the phone.
      • Click the "Call the Phone" icon.
    • Expected Result:All contacts are visible in chronological order.
  • US-6:Dictionary Search
    • Test Case 6:
      • Power on the phone.
      • Click the "Dictionary" icon.
    • Expected Result:A search bar appears in the middle of the screen.
  • US-7:Power Off and Display "Good-Bye" Message
    • Test Case 7:Long press the power button.
    • Expected Result: A "Good-Bye" message is displayed, and the phone powers off.
  • US-8:Font Settings
      • Test Case 8:
        • Power on the phone.
        • Inspect the UI for font and size.
      • Expected Result:Font is "Calibri (Body)" and size is 12 throughout the UI.
  • US-9: Touch Responsiveness
    • Test Case 9:
      • Interact with various UI elements using touch input.
    • Expected Result:The UI responds accurately and promptly to touch interactions.
  • US-10:Hard Buttons Absence
    • Test Case 10:
      • Inspect the physical design of the phone.
    • Expected Result:No hard buttons are present on the phone.

Test Plan to Test Features of a new phone:

#include

void displayCompanyLogo()// Function to display the company logo

{

    // Display company logo

    printf("Company Logo displayed.\n");

}

void displayGoodByeMessage()// Function to display "Good-Bye" message

{

    // Display "Good-Bye" message

    printf("Good-Bye message displayed.\n");

}

void handlePowerButtonLongPress()// Function to handle power button long press

{

    // Power on the phone and display company logo

    displayCompanyLogo();

}

void handleCallPhoneIconClick() // Function to handle "Call the Phone" icon click

{

    // Display all contacts in chronological order

    printf("Displaying contacts based on chronological order.\n");

}

void handleDictionaryIconClick() // Function to handle "Dictionary" icon click

{

    // Display the search bar for dictionary

    printf("Search bar for dictionary displayed.\n");

}

int main()

{

    handlePowerButtonLongPress(); // Simulate power button long press

    handleCallPhoneIconClick();  // Simulate "Call the Phone" icon click

    handleDictionaryIconClick();  // Simulate "Dictionary" icon click

    displayGoodByeMessage(); // Simulate power button long press to power off

    return 0;

}

NOTE: This C program is a simplified representation and does not handle user input or provide a complete user interface. It serves as a basic structure to demonstrate how the requirements can be implemented using functions and conditional statements in C.

Conclusion

This test plan outlines the test cases to verify the specified features of the new mobile phone under development. It ensures that the power button functions correctly, app icons are placed appropriately, contacts and dictionary search work as intended, fonts and UI responsiveness meet the requirements, and the absence of hard buttons is confirmed.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.