Show Menu

Common Testing Concepts Cheat Sheet by

In the "Common Testing Concepts" cheat sheet you will find the basic methodology definitions for testing types, testing documents, development models- advantages and disadvantages

Testing Types

1. Sanity Testing is type of testing that QA perform after receiving the software build, sanity testing is performed to ensure that the code changes introduced are working as expected .This testing is a checkpoint to determine if testing for the build can proceed or not.
2. Smoke Testing is is prelim­inary testing to reveal simple failures severe enough to, for example, reject a prospe­ctive software releas­e.Smoke tests are a subset of test cases that cover the most important functi­onality of a component or system, used to aid assessment of whether main functions of the software appear to work correctly.
3. Unit Testing is a type of software testing where individual units or components of a software are tested. The purpose is to validate that each unit of the software code performs as expected.
4. Integr­ation Testing is defined as a type of testing where software modules are integrated logically and tested as a group. The purpose of this level of testing is to expose defects in the intera­ction between these software modules when they are integr­ated.
5. Functional Testing is a type of software testing that validates the software system against the functional requir­eme­nts­/sp­eci­fic­ations. The purpose of Functional tests is to test each function of the software applic­ation, by providing approp­riate input, verifying the output against the Functional requir­ements.
6. Regression testing is re-running functional and non-fu­nct­ional tests to ensure that previously developed and tested software still performs after a change.
7.System Testing is testing conducted on a complete integrated system to evaluate the system's compliance with its specified requir­ements.
8. Load Testing is a non-fu­nct­ional software testing process in which the perfor­mance of software applic­ation is tested under a specific expected load.
9. Perfor­mance Testing is is a testing measure that evaluates the speed, respon­siv­eness and stability of a computer, network, software program or device under a workload.
10. User Interface Testing is a testing technique used to identify the presence of defects is a produc­t/s­oftware under test by using Graphical user interface [GUI].
11. Usability Testing is the practice of testing how easy a design is to use with a group of repres­ent­ative users.

Testing Documents

1. STP is the Software Test Plan document describes plans for qualif­ication testing of Computer Software Config­uration Items (CSCIs) and software systems. It describes the software test enviro­nment to be used for the testing, identifies the tests to be performed, and provides schedules for test activi­ties.
2. STD is the The Software Test Descri­ption (STD) document describes the test prepar­ations, test cases, and test procedures to be used to perform qualif­ication testing of the Computer Software Config­uration Item (CSCI) capabi­lities specified in the Software Requir­ements Specif­ication (SRS) and Software Design Descri­ption (SDD) documents.
3. STR is the Software Test Report is a record of the qualif­ication testing performed on a Computer Software Config­uration Item (CSCI), a software system or subsystem, or other softwa­re-­related item.
4. ATP is the establ­ishes the acceptance test plan used by the acceptance test team to plan, execute, and document acceptance testing. It describes the scope of the work performed and the approach taken to execute the tests created to validate that the system performs as required.
5. RTM is a requir­ements tracea­bility matrix document that demons­trates the relati­onship between requir­ements and other artifacts. It's used to prove that requir­ements have been fulfilled. And it typically documents requir­ements, tests, test results, and issues.


Agile- the develo­pment model of software develo­pment is a conceptual framework for software engine­ering that promotes develo­pment iterations throughout the life-cycle of the project. The Agile approach meaning as the name refers implies something to do very quickly.
Agile Advantages
1.Saving time and money. 2.Focus more on the applic­ation rather than docume­nting things. 3.Daily meetings and discus­sions for the project following an Agile model can help to determine the issues well in advance and work on them accord­ingly. 4.Requ­ire­ments changing even in the late stage of develo­pment .5.The end result is high-q­uality software in the least possible time duration and satisfied customers.
Agile Disadv­antages
1.The project can easily get taken off track if the customer repres­ent­ative is not clear what final outcome that they want. 2.There is a lack of emphasis on necessary designing and docume­nta­tion. 3. User involv­ement is often a potential problem especially in big and complex projec­ts.4. Agile processes are really only applicable to products where reliab­ility is not very critical.
Waterfall The original SDLC model was the Waterfall model. This model is very simple to understand and very well known in the develo­pment process. The main concept of this model is that only when one develo­pment level is completed will the next one be initiated.
Waterfall Advantages
1.The Waterfall method is also well known by software developers 2.The Waterfall Model works well for smaller projects where requir­ements are very well understood 3.Cost­-ef­fec­tiv­eness: Time spent early in the software production cycle can lead to the greater economy at later stages.
Waterfall Disadv­antages
1.The crucial disadv­antage of this model is that testing is understood as a “one-time” action at the end of the project just before the release of the operation. The test is seen as a “final inspec­tion”, an analogy to a manufa­cturing inspection before handing over the product to the customer. 2. High amounts of risk and uncert­ainty 3.Infl­exible – Poor model for complex and object­-or­iented projects.
V-Model This is the most familiar model in the develo­pment process. The model has the form of a “V”. The main idea in the V-Model is that develo­pment tasks and testing tasks are corres­ponding activities of equal import­ance, which is symbolised by the two sides of the “V”
V-Model Advantages
1.Due to the fact that in the V-Model defects are being repaired a short time after they have been detected, it is cheaper to fix them. 2.The model has a reputation for a very good base for the partit­ioning of testing. All the partic­ipants in the develo­pment of a system have a respon­sib­ility for quality assurance and testing. 3.Testing activities like requir­ements, test designing happen well before coding. This fact saves a lot of time and also helps in developing a very good unders­tanding of the project at the initial stage. 4.The objectives of testing are changing, and specific for each test level.
V-Model Disadv­antages
1.The V-Model is very rigid and the least flexible, which means that if one of the requir­ements is changing, the tester should update the test docume­ntation as a whole. 2. This model applicable mostly to big companies because the model needs a lot of resources. 3.The amount and the intensity of the test levels should be tailored according to the specific needs of the project.
Spiral model is mostly used in large projec­ts.In a spiral model, testing must be adapted to such develo­pment models, and continuous integr­ation testing and regression testing are necessary. The tests should be a reusable test case for every component and increment, and it should be reused and updated for every additional increment.
Spiral Advantages
1.Spiral Life Cycle Model is a very flexible model. Develo­pment phases can be determined by the project manager, according to the complexity of the project. 2.Esti­mates (i.e. budget, schedule, etc.) get more realistic as work progresses because important issues are discovered earlier. 3.Good for large and missio­n-c­ritical projects. 4.The software is produced early in the software lifecycle.
Spiral Disadv­antages
1. Doesn’t work well for smaller projects. 2.Eval­uating the risks involved in the project can shoot up the cost and it may be higher than the cost of building the system. 3.The spiral model is much customized for every project. 4.Risk analysis requires highly specific expertise.


No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Selenium WebDriver Cheat Sheet Cheat Sheet
          Cypressio Cheat Sheet
          ISTQB Test Automation Engineering Cheat Sheet