ISTQB software testing certification – Is it worth it? – Its Benefits

ISTQB certification is one of the best online testing certification that you can have on your resume. Its conducted by a non profit organization which is made of up industry experts worldwide, who have several decades of experience in Software Testing.

Some of the benefits / advantages of ISTQB software testing certification are: [Read more…]

What are the advantages or benefits of using testing tools?

There are many benefits that can be gained by using tools to support testing. They are:

  • Reduction of repetitive work: Repetitive work is very boring if it is done manually. People tend to make mistakes when doing the same task over and over. Examples of this type of repetitive work include running regression tests, entering the same test data again and again (can be done by a test execution tool), checking against coding standards (which can be done by a static analysis tool) or creating a specific test database (which can be done by a test data preparation tool). [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 in Prototype model 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. Prototype model is a software development model. 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. Its one of the software development models like Waterfall, Agile, V-Model. [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 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. Incremental model is a type of software development model like V-model, Agile model etc.

In this model, 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 software development model is basically used for the for the project which is small and there are no uncertain requirements. [Read more…]