Wednesday, 28 October 2015

What is Validation?

Validation in software testing

·          Determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs.
·          Validation is done at the end of the development process and takes place after verifications are completed.
·          It answers the question like: Am I building the right product?
·          Am I accessing the right data (in terms of the data required to satisfy the requirement).
·          It is a High level activity.
·          Performed after a work product is produced against established criteria ensuring that the product integrates correctly into the environment.

·          Determination of correctness of the final software product by a development project with respect to the user needs and requirements.

What is Verification in Software Testing?

Verification in software testing:

·          It makes sure that the product is designed to deliver all functionality to the customer.
·          Verification is done at the starting of the development process. It includes reviews and meetings, walkthroughs, inspection, etc. to evaluate documents, plans, code, requirements and specifications.
·          It answers the questions like: Am I building the product right?
·          Am I accessing the data right (in the right place; in the right way)?
·          It is a Low level activity.
·          Performed during development on key artifacts, like walkthroughs, reviews and inspections, mentor feedback, training, checklists and standards.

·          Demonstration of consistency, completeness, and correctness of the software at each stage and between each stage of the development life cycle.

Agile Model

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.  Extreme Programming (XP) is currently one of the most well known agile development life cycle model.

Diagram of Agile model:
Agile model in Software testing

Advantages of Agile model:
·          Customer satisfaction by rapid, continuous delivery of useful software.
·          People and interactions are emphasized rather than process and tools. Customers, developers and testers constantly interact with each other.
·          Working software is delivered frequently (weeks rather than months).
·          Face-to-face conversation is the best form of communication.
·          Close and daily cooperation between business people and developers.
·          Continuous attention to technical excellence and good design.
·          Regular adaptation to changing circumstances.
·          Even late changes in requirements are welcomed.

Disadvantages of Agile model:

·          In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle.
·          There is lack of emphasis on necessary designing and documentation.
·          The project can easily get taken off track if the customer representative is not clear what final outcome that they want.
·          Only senior programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.
When to use agile model?
·          When new changes are needed to be implemented. The freedom agile gives to change is very important. New changes can be implemented at very little cost because of the frequency of new increments that are produced.
·          To implement a new feature the developers need to lose only the work of a few days, or even only hours, to roll back and implement it.
Unlike the waterfall model in agile model very limited planning is required to get started with the project. Agile assumes that the end users’ needs are ever changing in a dynamic business and IT world.

Monday, 5 October 2015

What are Principles of testing?


What are Principles of testing?

There are seven principles of testing. They are as follows:
1) Testing shows presence of defects: Testing can show the defects are present, but cannot prove that there are no defects. Even after testing the application or product thoroughly we cannot say that the product is 100% defect free. Testing always reduces the number of undiscovered defects remaining in the software but even if no defects are found, it is not a proof of correctness.
2) Exhaustive testing is impossible: Testing everything including all combinations of inputs and preconditions is not possible. So, instead of doing the exhaustive testing we can use risks and priorities to focus testing efforts.
3) Early testing: In the software development life cycle testing activities should start as early as possible and should be focused on defined objectives.
4) Defect clustering: A small number of modules contains most of the defects discovered during pre-release testing or shows the most operational failures.
5) Pesticide paradox: If the same kinds of tests are repeated again and again, eventually the same set of test cases will no longer be able to find any new bugs. To overcome this “Pesticide Paradox”, it is really very important to review the test cases regularly and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects.
6) Testing is context depending: Testing is basically context dependent. Different kinds of sites are tested differently. For example, safety – critical software is tested differently from an e-commerce site.
7) Absence – of – errors fallacy: If the system built is unusable and does not fulfil the user’s needs and expectations then finding and fixing defects does not help.

Tuesday, 22 September 2015

Monday, 21 September 2015