:::: MENU ::::

Software testing enthusiast.

Showing posts with label Softskill. Show all posts
Showing posts with label Softskill. Show all posts

Software Testing




Software testing is an activity to make sure that the software product meets the expected criteria and to make sure that the software has a minimal defects. Software testing aims to minimize bugs, find a missing requirement, or identify that the software meets acceptance criteria. What activities can be done manually and/or automatically?

Why we need software testing?

We need software testing because bugs in production are either very expensive or dangerous. We can lost our potential customer, sell opportunity, or even cause a disaster. If we can catch the bug earlier than we can fix it sooner before the delivery of the product. Thus the cost will be cheaper.


Software Testing Life Cycle (STLC)

What is STLC?


Software Testing Life Cycle (STLC) is a sequence of systematic and planned activities which are executed during software testing activities. STLC is an important process because it ensure the quality of the software. Different with SDLC, that covers the whole software development process, STLC only covers testing activity.

Software Testing Life Cycle (STLC) has six major steps, which are:

  1. Requirement Analysis
  2. Test Planning
  3. Test Case Development
  4. Test Environment Setup
  5. Test Execution
  6. Test Closure
Each of those step has an entry criteria, activity, deliverable and exit criteria related to it.

Entry criteria are initial conditions that must be met before the test process can be run 

Exit criteria are items that must be completed during the testing process so that testing can be considered complete.

Activity is activities that are carried out during the testing process.

Deliverable is the result that can delivered after the test is finished.

To read more about STLC please follow the link bellow.

 

6 Major Steps of Software Testing Life Cycle (STLC)


Testing levels

  • Unit testing
  • Integration testing
  • System testing
  • Acceptance testing

Testing types, techniques and tactics


  • Acceptance testing: Make sure that all services is working as intended.
  • Integration testing: Make sure that all components are working together.
  • Unit testing: Checking that function is working in the unit level.
  • Functional testing: Validating the functionality of the services by simulating user behavior or business process. Can be done using black box testing.
  • Performance testing: Checking how the software performs under a ramping up workloads. Can be done using Load testing.
  • Regression testing: Validating that the old menus or services still working after new features are introduced.
  • Stress testing: Testing how much request can be processed before the system is breaking.
  • Usability testing: Validating how well a customer can use a system or web application to complete a task.

White box VS Black box


White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) verifies the internal structures or workings of a program, as opposed to the functionality exposed to the end-user. In white-box testing, an internal perspective of the system (the source code), as well as programming skills, are used to design test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. While white-box testing can be applied at the unit, integration, and system levels of the software testing process, it is usually done at the unit level. It can test paths within a unit, paths between units during integration, and between subsystems during a system–level test. Though this method of test design can uncover many errors or problems, it might not detect unimplemented parts of the specification or missing requirements.



Black-box testing (also known as functional testing) treats the software as a “black box,” examining functionality without any knowledge of internal implementation, without seeing the source code. The testers are only aware of what the software is supposed to do, not how it does it. Black-box testing methods include: equivalence partitioning, boundary value analysis, all-pairs testing, state transition tables, decision table testing, fuzz testing, model-based testing, use case testing, exploratory testing, and specification-based testing.

Testing Artifact

  • Test Plan
  • Traceability matrix
  • Test case
  • Test script
  • Test suite
  • Test fixture or test data
  • test run

Follow me on

Facebook: https://www.facebook.com/mydoqa/ 

Instagram: https://www.instagram.com/mydoqa/

Twitter: https://twitter.com/MydoQa








Software Testing Life Cycle

In this article I will write about Software Testing Life Cycle or STLC model.

What is it?


Software Testing Life Cycle (STLC) is a sequence of systematic and planned activities which are executed during software testing activities. STLC is an important process because it ensure the quality of the software. Different with SDLC, that covers the whole software development process, STLC only covers testing activity.

Software Testing Life Cycle (STLC) has six major steps, which are:

  1. Requirement Analysis

  2. Test Planning

  3. Test Case Development

  4. Test Environment Setup

  5. Test Execution

  6. Test Closure


Each of those step has an entry criteria, activity, deliverable and exit criteria related to it.

Entry criteria are initial conditions that must be met before the test process can be run

Exit criteria are items that must be completed during the testing process so that testing can be considered complete.

Activity is activities that are carried out during the testing process.

Deliverable is the result that can delivered after the test is finished.

STLC Phases


Requirement Analysis: Requirement Analysis is the very first step in Software Testing Life Cycle (STLC). At this stage, the quality assurance (QA) team understands the requirements, like acceptance criteria or what to test. If something is missing or unclear, the quality assurance team meets with stakeholders to gain a better understanding of the requirements in detail. QA can decide whether software require manual or automation testing.

  • Entry Criteria: Requirement specification, acceptance criteria, application architectural.

  • Activity: Identify types of tests to be performed, Gather details about testing priorities and focus, Automation feasibility analysis (if required).

  • Deliverable: List of all testable requirements, Automation feasibility report (if applicable).

  • Exit Criteria: Signed off RTM, Signed off Automation feasibility report.


Test Planning: Test planning is the stage where QA manager/QA lead define testing strategy and make an estimation on effort and cost needed for the entire life cycle.

The team will decide on the required tools, roles, and training (if needed) for the project, etc.

  • Entry Criteria: Requirements Documents.

  • Activity: Preparation of test plan/strategy document for various types of testing, Test tool selection, Test effort estimation, Resource planning and determining roles and responsibilities, Training requirement.

  • Deliverable: Test Strategy, Test Plan, and Test Effort estimation document.

  • Exit Criteria: Approved Test plan document, Approved Test strategy document, Signed off effort estimation document.


Test Case Development: The test case development phase is started soon after the test planning phase is finished. In this phase, QA Team will create a test case. They also identify, create, review, and rework Test data based on the preconditions. If the test require automation test, QA team also create test scripts for the automation test.

  • Entry Criteria: Requirements Documents (Updated version of unclear or missing requirement).

  • Activity: Create test cases, automation scripts (if applicable), Review and baseline test cases and scripts, Create test data.

  • Deliverable: Test cases, Test Scripts (if automation), Test data.

  • Exit Criteria: Reviewed and approved test cases, test scripts, test data.


Test Environment Setup: Test environment setup is the critical part of the STLC. This phase aims to ensure readiness of the environment on which software is tested. QA team is responsible for the testing environment, sometime they work together with Dev team, SysOps or DevOps team. To check the readiness, QA team can use smoke test.

  • Entry Criteria: Test Plan, Smoke Test cases, Test Data.

  • Activity: Understand and prepare the required environment set-up, Perform smoke test on the build.

  • Deliverable: Test Environment. Smoke Test Results.

  • Exit Criteria: Working test environment setup, Valid test data setup, Successful smoke test.


Test Execution: After all those preparation, the QA team finally do the actual test. In this phase QA team start executing test cases based on test cases and test plans from the earlier phases.

  • Entry Criteria: Test Plan document, Test cases, Test data, Test Environment.

  • Activity: Execute tests as per plan, Document test results, and log defects for failed cases, Track the defects to closure.

  • Deliverable: Test case execution report, Defect report.

  • Exit Criteria: Execute all planned test cases, Log all defects found.


Test Closure: This is the end of the life cycle. The test is completed, test report is collected. QA team will analyze defect distribution by type and severity.

  • Entry Criteria: Test Case Execution report (make sure there are no high severity defects opened), Defect report.

  • Activity: Evaluate cycle completion criteria, Document the learning out of the project, Prepare Test closure report, Test result analysis to find out the defect distribution by type and severity.

  • Deliverable: Test Closure report, Test metrics.

  • Exit Criteria: Signed off Test Closure report.


Follow me on


Facebook: https://www.facebook.com/mydoqa/

Instagram: https://www.instagram.com/mydoqa/

Twitter: https://twitter.com/MydoQa

Resource


[embed]https://www.geeksforgeeks.org/software-testing-life-cycle-stlc/[/embed]

[embed]https://www.geeksforgeeks.org/software-testing-life-cycle-stlc/[/embed]

[embed]https://www.geeksforgeeks.org/software-testing-life-cycle-stlc/[/embed]

[embed]https://www.geeksforgeeks.org/software-testing-life-cycle-stlc/[/embed]

[embed]https://www.geeksforgeeks.org/software-testing-life-cycle-stlc/[/embed]

[embed]https://www.geeksforgeeks.org/software-testing-life-cycle-stlc/[/embed]
Find this blog interesting? Follow us