DEV Community

Cover image for Software Testing 💻
Mehdi Khalfallah
Mehdi Khalfallah

Posted on

Software Testing 💻

❶ What is Software Testing ❓

Software testing is the process of evaluating and verifying that a software product or application does what it is supposed to do. The benefits of testing include preventing bugs, reducing development costs and improving performance.

❷ Why Software Testing ❓

✔️Helps in saving money
✔️Finds security holes
✔️Insure high quality software
✔️Customer satisfaction

❸ what are the types of Software Testing ❓

✔️Acceptance testing: Verifying whether the whole system works as intended.
✔️Integration testing: Ensuring that software components or functions operate together.
✔️Unit testing: Validating that each software unit performs as expected. A unit is the smallest testable component of an application.
✔️Functional testing: Checking functions by emulating business scenarios, based on functional requirements. Black-box testing is a common way to verify functions.
✔️Performance testing: Testing how the software performs under different workloads. Load testing, for example, is used to evaluate performance under real-life load conditions.
✔️Regression testing: Checking whether new features break or degrade functionality. Sanity testing can be used to verify menus, functions and commands at the surface level, when there is no time for a full regression test.
✔️Stress testing: Testing how much strain the system can take before it fails. Considered to be a type of non-functional testing.
✔️Usability testing: Validating how well a customer can use a system or web application to complete a task.

and many more!

❹ What are the techniques for Software Testing ❓

✔️ Black Box Testing: is a software testing method in which the internal structure/ design/ implementation of the item being tested is not known to the tester
✔️ White box testing: involves selection of test cases based on an analysis of the internal structure (Code coverage, branches coverage, paths coverage, condition coverage, etc..) of a component or system

❺ What is STLC (Software Testing Life Cycle) ❓

The Software Testing Life Cycle (STLC) is a sequence of specific actions performed during the testing process to ensure that the software quality objectives are met. The STLC includes both verification and validation. Contrary to popular belief, software testing is not just a separate activity. It consists of a series of methodological activities to help certify your software product.
The STLC is a high-quality strategy directly associated with and part of the Software Development Life Cycle (SDLC), which in turn is a framework with 6 core principles:
✔️Requirements analysis;
✔️Planning;
✔️Engineering and design;
✔️Software development;
✔️Testing;
✔️Deployment.

❻ What is a Test Plan ❓

A Test Plan refers to a detailed document that catalogs the test strategy, objectives, schedule, estimations, deadlines, and the resources required for completing that particular project. Think of it as a blueprint for running the tests needed to ensure the software is working properly – controlled by test managers.

❼ What Test Plan consists of?

✔️Test case identifier
✔️Scope
✔️Features to be tested
✔️Features not to be tested
✔️Test strategy & Test approach
✔️Test deliverables
✔️Responsibilities
✔️Staffing and training
✔️Risk and Contingencies

Conclusion
With the aid of software testing, you will be capable of verifying each and every aspect of software testing.
Thus, you will be capable of saving from the complaints and you will gain a high prominence slowly but gradually.

Discussion (0)