DEV Community

Puneeth Jay
Puneeth Jay

Posted on

Software testing

Software Testing:
Software testing is evaluating or assessing the software developed, based on the requirements and seeing if its producing the necessary output,

We have different types of testing like Manual and automation testing which will make sure the quality of the software.

Testing methodologies:

  • Software resting methodologies encompass the various strategies and approaches use to test that software behaves as expected and meet the requirements set out by customers

  • These methodologies are frameworks or guidelines used to plan, design, execute and assess software testing processes to ensure quality and functionality.

  • Testing methodologies can be broadly categorized into static dynamic, structured and unstructured methodologies.

  1. Waterfall:
    It is a software development model used in the context of large, complex project characterized by a structured, sequential approach to project management and software development. It is useful where project requirements are well defined and project goals and often used for large scale projects with long timelines where there is little room for error

  2. Iterative:
    This approach combines the steps of traditional waterfall with the flexibility of the iterative method. It allows for improvements and changes to be made at each stage of the development process. it allow to provide feedback paths from every phase to its preceding phases

  3. Agile:
    Designed to help a protect adapt quickly to change requests. Agility is achieved fitting the process to the project and removing activities that may not be essential. it is a combination of iterative and incremental process model. The models principle is delivering an increment to the customer after each time box

  4. Lean Agile:
    It is an approach derived from lean manufacturing principles aimed at optimized efficiency and minimizing waste in the software development process.
    prevent defects, it integrates quality assurance throughout the development process to prevent defects

  5. Spiral
    It provides a systematic and iterative approach to software development. In its diagrammatic representation, looks like a spiral with many loops. The exact number of spiral is unknown and can vary from project to projects. Each loop of the spiral is called a phase of the software development process.

  6. V-shaped
    The V-model is a type of SLDC model where the process executes sequential V-shape. It is also known as the verification and validation model. It is based on the association of a testing phase for each corresponding development stage. The development of each step is directly associated with the testing phase. The next phase starts only after completion of the previous phase, for each development activity, there is a testing activity corresponding to it.

Types of testing:

  • Whitebox testing: Testing internal structure or workings of an application

  • Blackbox Testing: Focuses on the outputs generated in response to selected inputs and execution conditions , without knowing how the software works internally

  • Greybox Testing : A combination of both white box and black box testing where the tester has limited knowledge of the internal workings of the application.

Things to know about software testing:

  1. Functional testing:
    This confirms the functionality of a feature

  2. Unit testing:
    It is performed at the lowest parts of the software

  3. Integration testing:
    It determines the behavior of of different units

  4. Manual testing
    Manually executing all the requirements and checking its functionality

  5. System testing:
    It evaluates the complete software systems as a whole

Relevance of software testing:
Software testing engineer ensures the quality of the product which makes the end users experience better,
In the competitive world, quality is a important aspect to be in sustaining in the market

Will be moving forward to latest technologies and build a better nation.

Top comments (0)