Saturday 27 January 2018

Spiral model

Spiral Model:


spiral model


                                                                    Fig. Spiral Model

The Spiral model was developed by Barry Boehm in 1986.In this model we start with small,define important features of an application, implement them and get feedback on the implemented part of an application.This process is repeated until we develop a complete final product.
The different steps involved are :
1.Determine Objectives and Constraints.
2.Identify and Resolve risks.
3.Develop  and test current level.
4.Plan the next iteration.
5.Decide approach of next level.

Advantages:
1.Suitable for large projects.
2.Easy to estimate the cost.
3.Suitable for frequently changing requirements.
4.Avoidance of risk is enhanced.

Disadvantages:
1.Not suitable for small projects.
2.High expertise is required for risk analysis.
3.More documentation.

Tuesday 23 January 2018

Myth Vs Reality

Myths of Software Testing:

1.Automation will replace Manual Testers:
Automation tools are available to help manual testers to automate their repetitive tasks and not to replace them.Every testing activity cannot be automated.Automation is not feasible for constantly changing requirements.
2.Exhaustive Testing is Possible:
It may be possible that all the paths have been tested,but there can be scenarios that are never executed by testing team and may be executed only after application is deployed.
3.People with weak coding skills are assigned to Testing:
The common myth about tester is that they are not good coders.But the fact is tester needs to fire database queries to perform database testing.Also if tester is part of automation testing process ,the tester needs to write scripts as part of job.
4. Testers are responsible for maintaining Quality of Product:
Testers responsibility is to identify and report the bug to the developers but the decision to fix the bug is the responsibility of Development team.
5. Tester delay delivery of Project:
The job of tester involves bug reporting,regression testing,retesting etc .This gives the impression that testing activity is dragging the project on.If testing activity is properly planned at start of the project it will not hinder the delivery of application.
6.Testing is too Expensive:
Early testing in project saves both time and cost in many aspects,however reducing the cost without testing may result in improper design of software application making the product useless.
7.Testers are paid less than Developers:
An experienced and efficient tester may get more payment as compared to that of developers.Automation testers are equally paid as that of developers more often.

Friday 19 January 2018

Severity and Priority of a Bug

Severity and Priority:

Severity:

Severity is a degree of impact the bug has on an application.It is the extent to which the bug can affect an application.Simply it represents how severe the bug is.

 Levels of Severity:
1.Critical : This bug indicates we cannot proceed further. It can be termination of complete system.
2. Major : Some part of the system fails but other parts of the system still functions properly.
3. Minor : The system is functioning properly but some undesirable behavior has occured.


Priority:
Priority is the order in which the bug is to be fixed.(i.e. When to fix the bug).If the priority of bug is higher it has to be fixed early.The status of priority can depend on Client requirements.

Levels of Priority:
1.High : The bug has to be fixed as early as possible as the damage to application is severe.
2. Medium : The fixing can wait until new version is created.
3. Low : The fixing of bug can be deferred until more serious bug has been fixed.

Different Combinations of Severity and Priority:
1.High Severity and High Priority:
A bug which does not allow the user to use a system.A major part of an application is not working.

2.Low Severity and High Priority:
The Logo or name of the company is not displayed on the website.

3.High Severity and Low priority:
If the application crashes by clicking on remote link,Since the clicking on remote link is rare it has high  severity and low priority category.

4.Low Severity and Low Priority:
Spelling issues and alignment problems.

Cyclomatic Complexity

Cyclomatic Complexity(Code Complexity) is a metric used to measure complexity of a program.
This metric was developed by Thomas McCabe in 1976.It measures the number of linearly independent paths through the programs code.
If the program's cyclomatic complexity is low , it will be easier to modify.

It can be defined by the following formula:

M = E - N + 2P

where,
     E - Number of Edges in the graph.
     N - Number of Nodes in the graph.
     P - Number of Connected Components.



Thursday 18 January 2018

Manual Vs Automation

Manual Testing

Automation Testing

1. Testing conducted without third party tool is manual testing.

1.Testing conducted with the help of third party tool is automation testing

 

2. Less Accurate

2.More Accurate.

3. More time consuming.

3. Less time consuming.

4. Human observation is must.

4. Human observation is not mandatory.

5. Suitable for one time testing.

5. Suitable for regression testing.

6. Need to invest on human resources.

6. Need to invest on testing tools.

7. No coding knowledge is required.

7. Coding knowledge is required.

8. Less reliable.

8. More reliable.

 

Decision Tables

Decision Table is a Black Box Testing technique.It deals with different combination of inputs.
It is generally used to represent complex business rules which otherwise would be difficult to  represent in other techniques like Equivalence Partitioning and Boundary Value Analysis.
Decision Tables are generally used when combination of input conditions and output is a Boolean value.

It is also called as Cause Effect Table.
The Decision Table consists of two parameters:
1. Conditions(Inputs)
2. Actions(Output).



T - Correct Username/Password.
F - Incorrectusername/Password
E - Error Message Dialog box.
L - Successful Login.


Conditions
Rule 1
Rule 2
Rule 3
Rule 4
Username
F
F
T
T
Password
F
T
F
T
Output
E
E
E
L

Wednesday 17 January 2018

Requirement Traceability Matrix

This document is very important to know the status of testing.This document captures all the requirements and traces the associated test cases to the requirement.The main purpose of this document is to see that all the functionalities have corresponding test cases.

Types of Traceability Matrix:
1.Forward Traceability:It checks  whether the project is progressing in desired direction.
It maps requirements to test cases.

2.Backward Traceability:It checks whether the current project remains on right track.
It maps test cases to requirements.

Monday 15 January 2018

List of Testing Tools

The different types of Testing Tools are:

a. Functional Testing Tools:
 1. UFT(Unified Functional Model).
 2.Selenium (Open Source).
 3.AutoIT (Open Source).
 4.Watir.
 5.Winrunner.
 6.QTP(Quick Test Professional).
 7.Silk Test.
 8.Rational Robot.

b.Test Management  Tools:
 1.Test Director.
 2.Quality Center.
 3.Test Link(Open Source).
 4.QA Complete.
 5. TestLog.

c. Non Functional Tools:
 1. Loadrunner.
 2.Jmeter.
 3.FunkLoad.
 4.LoadUI.
 5.OpenSTA.

d. Defect Management Tools:
 1.Bugzilla.
 2. Redmine.
 3.Mantis.
 4. Trac.
 5.WebIssues.

What is Automation Testing

Testing conducted with the help of third party tool is called Automation Testing.
Best Candidates for Automation testing:
1.Regression Testing.
2.Load Testing.
3.Stress Testing.
4.Performance Testing.

Saturday 13 January 2018

What is Waterfall Model

waterfall model



Waterfall Model is the Sequential model.In this model output of one phase becomes input of next phase.The review meeting is held before moving to next phase.There is no overlapping.Testing is done only after coding phase is finished.
The different phases are as follows:
1.Requirement Analysis:
All the requirements are collected and analyzed in this phase and then documented in SRS.
2 Design;
After the requirements are analyzed design is prepared  in this phase.The High level design and Low level design documents are prepared.
3.Coding:
Each unit is developed and later on integrated to develop a system.
4.Testing:
Once the coding is finished in this phase we perform the testing activity.Different  kinds of testing are performed as specified in  the scope of Test Plan.
5.Deployment:
In this phase the product is deployed in client location.
6.Maintenance:
In this phase the issues related with client environment are handled.It may include small changes the client wants.