What are the risks or disadvantages of using the testing tools?

Although there are many benefits that can be achieved by using tools to support testing activities, but there are also many risks that are associated with it when tool support for testing is introduced and used.

Risks include:

  • Unrealistic expectations from the tool: Unrealistic expectations may be one of the greatest risks to success with tools. The tools are just software and we all know that there are many problems associated with any kind of software. It is very important to have clear and realistic objectives for what the tool can do. [Read more…]

What is Branch Coverage or Decision Coverage? Its advantages and disadvantages

  • Branch coverage is also known as Decision coverage or all-edges coverage.
  • It covers both the true and false conditions unlikely the statement coverage.
  • A branch is the outcome of a decision, so branch coverage simply measures which decision outcomes have been tested. This sounds great because it takes a more in-depth view of the source code than simple statement coverage
  • A decision is an IF statement, a loop control statement (e.g. DO-WHILE or REPEAT-UNTIL), or a CASE statement, where there are two or more outcomes from the statement. With an IF statement, the exit can either be TRUE or FALSE, depending on the value of the logical condition that comes after IF.

[Read more…]

What is Big Bang integration testing?

  • In Big Bang integration testing all components or modules are integrated simultaneously, after which everything is tested as a whole.
  • In this approach individual modules are not integrated until and unless all the modules are ready.
  • In Big Bang integration testing all the modules are integrated without performing any integration testing and then it’s executed to know whether all the integrated modules are working fine or not.
  • This approach is generally executed by those developers who follows the ‘Run it and see’ approach.
  • Because of integrating everything at one time if any failures occurs then it become very difficult for the programmers to know the root cause of that failure.
  • In case any bug arises then the developers has to detach the integrated modules in order to find the actual cause of the bug.

Below is the image of the big bang integration testing:

what is big bang integration

Suppose a system consists of four modules as displayed in the diagram above. In big bang integration all the four modules ‘Module A, Module B, Module C and Module D’ are integrated simultaneously and then the testing is performed. Hence in this approach no individual integration testing is performed because of which the chances of critical failures increases.

Advantage of Big Bang Integration:

  • Big Bang testing has the advantage that everything is finished before integration testing starts.

Disadvantages of Big Bang Integration:

  • The major disadvantage is that in general it is very time consuming
  • It is very difficult to trace the cause of failures because of this late integration.
  • The chances of having critical failures are more because of integrating all the components together at same time.
  • If any bug is found then it is very difficult to detach all the modules in order to find out the root cause of it.
  • There is high probability of occurrence of the critical bugs in the production environment

What is Prototype model- advantages, disadvantages and when to use it?

The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements. By using this prototype, the client can get an “actual feel” of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system.  [Read more…]

What is Spiral model- advantages, disadvantages and when to use it?

The spiral model is similar to the incremental model, with more emphasis placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. Each subsequent spirals builds on the baseline spiral. [Read more…]

What is Iterative model- advantages, disadvantages and when to use it?

An iterative life cycle model does not attempt to start with a full specification of requirements. Instead, development begins by specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements. This process is then repeated, producing a new version of the software for each cycle of the model.

[Read more…]

What is Agile model – advantages, disadvantages and when to use it?

Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications.  [Read more…]

What is RAD model- advantages, disadvantages and when to use it?

RAD model is Rapid Application Development model. It is a type of incremental model. In RAD model the components or functions are developed in parallel as if they were mini projects. The developments are time boxed, delivered and then assembled into a working prototype.  [Read more…]

What is Incremental model- advantages, disadvantages and when to use it?

In incremental model the whole requirement is divided into various builds. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle.  Cycles are divided up into smaller, more easily managed modules.  Each module passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first module, so you have working software early on during the software life cycle. Each subsequent release of the module adds function to the previous release. The process continues till the complete system is achieved.

For example:

Example of Incremental model in software testingIn the diagram above when we work incrementally we are adding piece by piece but expect that each piece is fully finished. Thus keep on adding the pieces until it’s complete. As in the image above a person has thought of the application. Then he started building it and in the first iteration the first module of the application or product is totally ready and can be demoed to the customers. Likewise in the second iteration the other module is ready and integrated with the first module. Similarly, in the third iteration the whole product is ready and integrated. Hence, the product got ready step by step.

Diagram of Incremental model:

Incremental lifecycle model in software testing

Advantages of Incremental model:

  • Generates working software quickly and early during the software life cycle.
  • This model is more flexible – less costly to change scope and requirements.
  • It is easier to test and debug during a smaller iteration.
  • In this model customer can respond to each built.
  • Lowers initial delivery cost.
  • Easier to manage risk because risky pieces are identified and handled during it’d iteration.

Disadvantages of Incremental model:

  • Needs good planning and design.
  • Needs a clear and complete definition of the whole system before it can be broken down and built incrementally.
  • Total cost is higher than waterfall.

When to use the Incremental model:

  • This model can be used when the requirements of the complete system are clearly defined and understood.
  • Major requirements must be defined; however, some details can evolve with time.
  • There is a need to get a product to the market early.
  • A new technology is being used
  • Resources with needed skill set are not available
  • There are some high risk features and goals.

Some other models that you must read about:

  1. Waterfall model
  2. V model
  3. RAD model
  4. Agile model
  5. Iterative model
  6. Spiral model
  7. Prototype model

What is Waterfall model- advantages, disadvantages and when to use it?

The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-sequential life cycle model.  It is very simple to understand and use.  In a waterfall model, each phase must be completed fully before the next phase can begin. This type of model is basically used for the for the project which is small and there are no uncertain requirements. [Read more…]