Software Development Lifecycle

Testing Process

·

4 min read

List of SDLC Models

1.Waterfall model

2.RAD model

3.Spiral model

4.v-model

5.Incremntal model

6.Agile model

7.Iterative model

8.Bigbang model

STLC:

Software Testing Life Cycle (STLC) is a process used to test software and ensure that quality standards are met. Tests are carried out systematically over several phases. During product development, phases of the STLC may be performed multiple times until a product is deemed suitable for release.The stages of the STLC include Test Planning, Test Analysis, Test Design, Test Environment Setup, Test Execution, Test Closure, and Defect.

Difference between QC and QA:

1. Proactive (QA) vs. Reactive (QC)

Effective quality assurance is proactive. It aims to prevent defects before they occur through process design. QC is reactive and exists to identify defects in the quality of products after they have happened.

2. Process (QA) vs. Product (QC)

QA is process-oriented, and it focuses on preventing quality issues. QC is product-oriented and focused on identifying quality issues in manufactured products that could affect customer satisfaction. Another way to understand this distinction is actions vs. results. QA involves the actions which create the product, while QC is focused on the resulting product. Several examples of each type of activity are detailed below.

QA Processes:

  • Documentation

  • Audits

  • Supplier management

  • Personnel training

  • Change control

  • Investigation procedures

QC Procedures:

  • Batch inspection

  • Product sampling

  • Validation testing

  • Laboratory testing

  • Software testing

3. System (QA) vs. Parts (QC)

Quality assurance control systems are the methods and procedures which are used to safeguard quality standards. Quality control systems measure parts, including the outputs of the system.

QC efforts may also be focused on parts used to create the final product, such as raw materials from a supplier. The QA system for quality management may dictate various activities to make sure inputs are consistently safe and effective, such as auditing suppliers and batch sampling raw materials.

4. Creation (QA) vs. Verification (QC)

The result of QA activities is a roadmap for creating high-quality products. It involves defining standards for product design, manufacture, packaging, distribution, marketing, and sales.

QC involves verification of products post-manufacture and before distribution, or confirming safety and efficacy.

5. Entire Team (QA) vs. Dedicated Personnel (QC)

Quality assurance activities involve the entire team. Every member of a life sciences organization is responsible for QA activities by following SOPs. While the quality management system (QMS) is generally the responsibility of the quality unit and the leadership team, QA activities involve standards for training, documentation, and review across the workforce.

QC is generally the responsibility of certain personnel within the organization whose duties include following SOPs for product testing. QC staff follow SOPs for quality control and document their findings based on standardized procedures for product testing and process validation.

Difference between Manual and automation testing:

  1. Manual Testing:
    - Definition: Manual testing involves testers manually executing test cases without the use of automation tools.
    - Execution: Tests are performed by human testers who interact with the software application as end-users would.
    - Efficiency: Manual tests are slower compared to automated tests and may require more time and effort to execute.
    - Repeatability: Manual tests are prone to human error and may not be as consistent as automated tests.
    - Suitability: Best suited for exploratory testing, usability testing, and scenarios that require human judgment and intuition.
    - Cost: Lower initial setup costs compared to automated testing, but can be more expensive in the long run for repetitive tests.
    - Coverage: Manual testing may not cover as many test scenarios as automated testing due to time and resource constraints.

  2. Automated Testing:
    - Definition: Automated testing involves using specialized software tools to execute pre-scripted tests on a software application.
    - Execution: Tests are performed using automation scripts or test cases that are created by testers or developers.
    - Efficiency: Automated tests can be executed faster and more frequently than manual tests.
    - Repeatability: Automated tests are highly repeatable, ensuring consistent results each time they are run.
    - Suitability: Best suited for repetitive tasks, regression testing, and scenarios that require frequent execution.
    - Cost: Initially higher setup and maintenance costs, but can be more cost-effective in the long run for repetitive tests.
    - Coverage: Can cover a wide range of test scenarios due to the ability to run tests quickly and frequently.