Software Testing

The process of evaluating an application or system to ensure that meets its specific requirements & functions correctly. Also checks for errors and bugs to be fixed before deployment.

DIFFERENT TYPES OF TESTING:

  • Black box testing

    It is the process of testing the software from the perspective of user without knowing the internal working of software i.e only the behavioral structure and functionality.

  • White box testing

    Also known as clear or glass box testing.

    The process of testing the internal working of the software and their electronic circuits with complete knowledge of the product.

  • Grey box testing

    It is the combination of both black and white box testing which is more efficient and comprehensive testing method.

SOFTWARE TESTING LIFE CYCLE (STLC)

It is a sequence of activities or operations done during the testing process to meet the requirements of the customers and complete the product without any major errors or bugs.

The main goal is to identify if there are any defects or errors and rectify it before it goes to the hands of the customers.

PHASES OF SOFTWARE TESTING LIFE CYCLE

  • Requirement Analysis

  • Test Planning

  • Test Case Development

  • Environment Setup

  • Test Execution

  • Test Cycle Closure

QUALITIES OF A TESTER

First of all, a good tester should be able to identify or differentiate the successful products from the failure ones. To be successful in the software testing field one should posses some certain qualities. They are as follows,

  • Attention to detail - One should be very keen on noticing the very smallest of issues or defects that can be rectified. Paying attention to every aspects of the product. For example, while editing the photo one should identify or note minute details like misaligned layer, incorrect color schemes etc..,

  • Curiosity & Creativity - One should be very curious and creative while in the testing field. Curious testers will think out the box and come up with the idea which no one will even get. They should be willing to explore new methods and ideas. For example, take a mobile phone which is coming out in so many various designs, different versions by the help of creative minds and their curiosity to explore much more.

  • Analytical and Problem Solving Skills - One should be able to understand the complex systems and requirements and identify potential issues and be able to develop effective solutions for testing and reducing the defects.

    For instance, when encountering the issue while driving, one should able to identify what is root cause of the problem and how to overcome or rectify for the smooth driving.

  • Communication skills - A good tester should have strong communication skills. It is crucial for testers to convey the information very clearly and effectively to the development team and other testers. It helps in clarifying the issue, attending the meeting and so on.

  • Patience and Persistence - Testing can be sometimes frustrating process and time consuming, that's why one should have patience and persistence until it reaches the final verdict and become success. For example, if the tester finds any defect at the final stage, he should patiently fix the defect and re run the product for any other errors.

  • Time Management and Organisation - This both qualities are required for the tester to handle multiple tasks, prioritize the work and meet the dead lines of the project. They should be able to estimate the required time for the completion of project accurately and efficiently. Scheduling of the activities effectively makes the tester good.

SOFTWARE DEVELOPMENT LIFE CYCLE

  • SDLC is the process which is cost effective and time efficient used by the development team to design and bring the final software or product as per the customer requirements.

  • It helps us to minimize the project risks through prior planning during the production time.

  • There are many methods in SDLC, the most common are Agile and Waterfall methodology.

Why Waterfall Is Better Than Agile

AGILE METHODOLOGY :

Agile Development Process in Software Development

  • In this approach, the team involves break the project into series of phases and emphasize continuous collaboration and improvement.

  • It is an iterative approach to manage software development projects that focuses on continuous releases and modify the changes as per customer feedback with every iteration.

  • Team follows a cycle of planning, executing and evaluating.

WATERFALL METHODOLOGY:

What is the Waterfall software model? Development sequence?

  • It is a kind of approach that follows linear progression from beginning to completion of a project i.e. with each phase completely developed before moving up to the next phase.

  • It is useful when the customer requirements of the product are well defined and clear.

  • Team follows a careful planning, detailed structures of the project and consecutive execution.