Saturday, January 9, 2016

Testing Definations(A-Z)



1.     Acceptance Testing
Acceptance testing, a testing technique performed to determine whether or not the software system has met the requirement specifications.
There are various forms of acceptance testing:
·        User acceptance Testing
·        Business acceptance Testing
·        Alpha Testing
·        Beta Testing

2.     Accessibility Testing

Accessibility testing is a subset of usability testing where in the users under consideration are people with all abilities and disabilities. The significance of this testing is to verify both usability and accessibility.
·        Visual Impairments
·        Physical Impairment
·        Hearing Impairment
·        Cognitive Impairment
·        Learning Impairment
3.     Active testing
Active testing, a testing technique, where the user introduces test data and analyses the result.
During Active testing, a tester builds a mental model of the software under test which continues to grow and refine as your interaction with the software continues
4.   AdHoc Testing
When a software testing performed without proper planning and documentation, it is said to be Adhoc Testing. Such kind of tests are executed only once unless we uncover the defects.

Forms of Adhoc Testing :

·       Buddy Testing: Two buddies, one from development team and one from test team mutually work on identifying defects in the same module. Buddy testing helps the testers develop better test cases while development team can also make design changes early. This kind of testing happens usually after completing the unit testing.
·       Pair Testing: Two testers are assigned the same modules and they share ideas and work on the same systems to find defects. One tester executes the tests while another tester records the notes on their findings.
·       Monkey Testing: Testing is performed randomly without any test cases in order to break the system.
5.   Age testing
It is a testing technique that evaluates a system's ability to perform in the future and usually carried out by test teams. As the system gets older, how significantly the performance might drop is what is being measured in Age Testing.
6.   Agile testing
A software testing practice that follows the principles of agile software development is called Agile Testing. Agile is an iterative development methodology, where requirements evolve through collaboration between the customer and self-organizing teams and agile aligns development with customer needs
7.   All pair testing
All-pairs also known as pairwise testing is a testing approach taken for testing the software using combinatorial method. It's a method to test all the possible discrete combinations of the parameters involved.
Assume we have a piece of software to be tested which has got 10 input fields and 10 possible settings for each input field. Then, there are 10^10 possible inputs to be tested. In this case, exhaustive testing is impossible even if we wish to test all combinations.
8.   Alpha testing
Alpha testing takes place at the developer's site by the internal teams, before release to external customers. This testing is performed without the involvement of the development teams.
9.   API testing
API stands for Application Programming Interface, which specifies how one component should interact with the other. It consists of a set of routines, protocols and tools for building the software applications.
10.       Arc testing
Arc Testing is nothing but branch testing. A Branch is the outcome of a decision. So branch coverage is a measure of outcomes of a branch. Determining the number of branches in a method is easy as a the output of a branch has usually two outcomes (True of False).
11.       Anomaly
In Software testing, Anomaly refers to a result that is different from the expected one. This behaviour can result from a document or also from a testers notion and experiences.
An Anomaly can also refer to a usability problem as the testware may behave as per the specification, but it can still improve on usability. Sometimes, the anomaly can also referred as a defect / Bug.
12.       Assertion based Testing
An assertion is a boolean expression at a specific point in a program which will be true unless there is a bug in the program. A test assertion is defined as an expression, which encapsulates some testable logic specified about a target under test.
13.       Audit
Audit means an independent examination of a software product or processes to assess compliance with specifications, standards, contractual agreements, or other criteria.
14.       Automated Software Testing
Software Test automation makes use of specialized tools to control the execution of tests and compares the actual results against the expected result. Usually regression tests, which are repetitive actions, are automated.
Testing Tools not only help us to perform regression tests but also helps us to automate data set up generation, product installation, GUI interaction, defect logging, etc.
15.       Backward Compatibility Testing
An Application/Product developed using one version of a platform should still work in a newer version of a platform. The Testing that ensures new version of the product to continue to work with the older product is known as Backward compatibility testing.
16.       Baseline artefacts
The process of managing the changes in hardware, software, firmware or documentation is known as Configuration management. Baselining is the identification of significant states within the revision history of a configuration item.
17.       Basis path testing
Basis path testing, a structured testing or white box testing technique used for designing test cases intended to examine all possible paths of execution at least once. Creating and executing tests for all possible paths results in 100% statement coverage and 100% branch coverage.
18.       Bebugging
Bebugging is the process of adding known defects to the application intentionally for the purpose of monitoring the rate of detection and removal. This process is also known as defect seeding or Fault injection or defect feeding.
19.       Behavioural Testing
 is a testing of the external behaviour of the program, also known as black box testing. It is usually a functional testing.
20.       Benchmark testing
is a part of the software development life cycle that involves both developers and database administrators (DBAs) to determine current performance and make changes to improve the performances of the same.
The coding should be done very efficiently along with fine tuning the databases so that user can experience the performance improvements.
21.       Beta Testing
Beta testing also known as user testing takes place at the end users site by the end users to validate the usability, functionality, compatibility, and reliability testing.
Beta testing adds value to the software development life cycle as it allows the "real" customer an opportunity to provide inputs into the design, functionality, and usability of a product. These inputs are not only critical to the success of the product but also an investment into future products when the gathered data is managed effectively.
22.       Big-Bang testing
Big Bang Integration Testing is an integration testing strategy wherein all units are linked at once, resulting in a complete system. When this type of testing strategy is adopted, it is difficult to isolate any errors found, because attention is not paid to verifying the interfaces across individual units.
23.       Binary portability Testing
Binary Portability is Testing an executable for portability across platforms and environments, usually for the conformation to an Application Binary Interface(ABI) specification.
The Application Binary Interface (or ABI) defines a system interface for compiled application programs and also different for different types of hardware architecture. Since the binary specification includes information specific to the computer processor architecture for which it is intended, it is not possible to specify for a single document for all possible System. Hence, ABI is a family of specifications, rather than a single one.
24.       Black box Testing
Black-box testing is a method of software testing that examines the functionality of an application based on the specifications. It is also known as Specifications based testing. Independent Testing Team usually performs this type of testing during the software testing life cycle.
25.       Bottom up Testing
Each component at lower hierarchy is tested individually and then the components that rely upon these components are tested.
26.       Boundary testing
Boundary value analysis is a type of black box or specification based testing technique in which tests are performed using the boundary values.
27.       Branch Testing
Branch coverage is a testing method, which aims to ensure that each one of the possible branch from each decision point is executed at least once and thereby ensuring that all reachable code is executed.
28.       Breadth testing
Breadth Testing is a test suite that validates the full functionality of a product but does not test the product features in detail.
Top-down integration testing can either take depth-first or a breadth-first approach. In breadth-first testing, all the modules are refined at the same level of control. In reality, a combination of the both breadth-first testing and depth-first testing approach is used.
29.       Bug
In Software testing, when the expected and actual behavior is not matching, an incident needs to be raised. An incident may be a Bug. It is a programmer's fault where a programmer intended to implement a certain behavior, but the code fails to correctly conform to this behavior because of incorrect implementation in coding. It is also known as Defect.
30.       Business Process
A business process is a collection of activities or tasks that produce a specific service or product for end users. It is usually represented as a flowchart as a sequence of activities that points to a Process Matrix.
31.       Business Requirement
Business requirements is a phase in Software development life cycle which felicitates the requirements of the end users as the very first task in order to guide the design of the future system. Business requirements are usually captured by business analysts or product owners who analyze business activities who in turn act as subject matter expertise (SME's).
32.       Capability muturity model
The Software Engineering Institute (SEI) Capability Maturity Model (CMM) specifies an increasing series of levels of a software development organization. The higher the level, the better the software development process, hence reaching each level is an expensive and time-consuming process.
33.       Capture/Replay Tool
The Software Engineering Institute (SEI) Capability Maturity Model (CMM) specifies an increasing series of levels of a software development organization. The higher the level, the better the software development process, hence reaching each level is an expensive and time-consuming process.
34.       Cause Effect path
Cause Effect Graph is a black box testing technique that graphically illustrates the relationship between a given outcome and all the factors that influence the outcome.
35.       Code Coverage
Code Coverage testing is determining how much code is being tested. It can be calculated using the formula:
Code Coverage = (Number of lines of code exercised)/(Total Number of lines of code) * 100%
36.       Code Freeze
Code Freeze means the code is frozen and there will not be any further modifications from the developers. After the code freeze, the code should not be changed by the developers. Only in case of critical defects, developers change the code after the approval of the change control board and make the changes required to fix that critical defect.
37.       Code Inspection
Code Inspection is the most formal type of review, which is a kind of static testing to avoid the defect multiplication at a later stage.
38.       Code Review
Code Review is a systematic examination, which can find and remove the vulnerabilities in the code such as memory leaks and buffer overflows.
39.       Code Walkthrough
Code Walkthrough is a form of peer review in which a programmer leads the review process and the other team members ask questions and spot possible errors against development standards and other issues.
40.       Code Base Testing
Code-based testing corresponds to the testing that is carried out on code development, code inspection, unit testing in software development process.
41.       Code Driven Testing
The Code driven testing also known as test driven development's first step is to add a test, which is enough for code to fail. Next, we execute out tests usually a complete test suite or a subset of tests to accelerate testing to ensure that the new test fails. Then, the code is updated to make it pass the new tests. Then, the fourth step is to execute the tests again. If they fail, we need to update the code and retest. Once the test passes, the next step is to go through the same process again for the next development item.
42.       Code Free Testing
Code free testing, a testing technique performed without the execution of code. The static testing techniques such as review and static analysis are part of code free testing.
43.       Compression Testing
Comparison testing comprises of comparing the contents of files, databases, against actual results. They are capable of highlighting the differences between expected and actual results.
44.       Compatibility Testing
Compatibility testing is a non-functional testing conducted on the application to evaluate the application's compatibility within different environments. It can be of two types - forward compatibility testing and backward compatibility testing.
45.       Compliance Testing
Compliance Testing is performed to maintain and validate the compliant state for the life of the software. Every industry has a regulatory and compliance board that protects the end users.
46.       Concurrency testing
is also known as multi-user testing, performed to identify the defects in an application when multiple users login to the application.
47.       Condition Coverage Testing
Condition coverage is also known as Predicate Coverage in which each one of the Boolean expression have been evaluated to both TRUE and FALSE.
48.       Configuration Testing
Configuration testing is the process of testing the system with each one of the supported software and hardware configurations. The Execution area supports configuration testing by allowing reuse of the created tests.
49.       Context Driven Testing
The context-driven software testing advocates testing based on the context of the project as opposed to go by books methodology testing or some fixed notion of best practices.
50.       Control Flow Path
A control flow path is a graphical representation of all paths that might be traversed through a program during its execution. Most representations are of two types of blocks. Viz - An entry block through which control enters into the flow graph and the exit block through which all control flow leaves.
51.       Correctness
Correctness from software engineering perspective can be defined as the adherence to the specifications that determine how users can interact with the software and how the software should behave when it is used correctly.
52.       Data Integrity Testing
Data integrity corresponds to the quality of data in the databases and to the level by which users examine data quality, integrity and reliability. Data integrity testing verifies that the data in the database is accurate and functions as expected within a given application.
53.       Data Driven Testing
Data-driven testing is creation of test scripts where test data and/or output values are read from data files instead of using the same hard-coded values each time the test runs. This way, testers can test how the application handles various inputs effectively. It can be any of the below data files.

54.       Data Flow Testing
Data flow testing is a family of test strategies based on selecting paths through the program's control flow in order to explore sequences of events related to the status of variables or data objects. Dataflow Testing focuses on the points at which variables receive values and the points at which these values are used
55.       Debugging
It is a systematic process of spotting and fixing the number of bugs, or defects, in a piece of software so that the software is behaving as expected. Debugging is harder for complex systems in particular when various subsystems are tightly coupled as changes in one system or interface may cause bugs to emerge in another.
56.       Decision Coverage Testing
Decision coverage or Branch coverage is a testing method, which aims to ensure that each one of the possible branch from each decision point is executed at least once and thereby ensuring that all reachable code is executed.
57.       Defect
A software bug arises when the expected result don't match with the actual results. It can also be error, flaw, failure, or fault in a computer program. Most bugs arise from mistakes and errors made by developers, architects.
58.       Defect Logging and Tracking
Defect logging, a process of finding defects in the application under test or product by testing or recording feedback from customers and making new versions of the product that fix the defects or the clients feedback.
59.       Defect Life cycle
Defect life cycle, also known as Bug Life cycle is the journey of a defect cycle, which a defect goes through during its lifetime. It varies from organization to organization and also from project to project as it is governed by the software testing process and also depends upon the tools used.
60.       Delta Release
A delta release also known as partial release is one that includes only those areas within the release unit that have changed or are new since the last full release or delta release.
61.       Depth Testing
Depth Testing is a testing technique in which feature of a product is tested in full detail. Each of the feature is tested exhaustively during the integration phase and the defects are logged, are captured across all parameters, functional and non functional.
62.       Destructive Testing
Destructive testing is a testing technique in which the application is made to fail in an uncontrolled manner to test the robustness of the application and also to find the point of failure.
63.       Development Environment
The development environment helps the developers to develop the application or product using a set of processes and programming tools.
64.       Domain Testing
Domain testing is a software testing technique in which selecting a small number of test cases from a nearly infinite group of test cases. For testing few applications, Domain specific knowledge plays a very crucial role.
65.       Durability Testing
Durability Testing is a Performance testing technique used to determine the characteristics of a system under various load conditions over time. This testing helps us to identify the stability of transaction response times over the duration of the test.
66.       Dynamic Testing
Dynamic Testing is a kind of software testing technique using which the dynamic behaviour of the code is analysed.
67.       Emulator
An emulator is a hardware or software that emulates the functions of one computer system in another computer system.
68.       End to end Testing
End-to-end testing is a technique used to test whether the flow of an application right from start to finish is behaving as expected. The purpose of performing end-to-end testing is to identify system dependencies and to ensure that the data integrity is maintained between various system components and systems.
69.       Endurance Testing
Endurance Testing also known as Soak Testing is performed to determine if the application under test can sustain the continuous loads.

70.       Entry Criteria
Entry criterion is used to determine when a given test activity should start. It also includes the beginning of a level of testing, when test design or when test execution is ready to start.
71.       Equivalence Partitioning Testing
Equivalence Partitioning also called as equivalence class partitioning. It is abbreviated as ECP. It is a software testing technique that divides the input test data of the application under test into each partition at least once of equivalent data from which test cases can be derived.
72.       Error
When the system produces an outcome, which is not the expected one or a consequence of a particular action, operation, or course, is known as error.
73.       Error Guessing
Error guessing is a testing technique that makes use of a tester's skill, intuition and experience in testing similar applications to identify defects that may not be easy to capture by the more formal techniques. It is usually done after more formal techniques are completed.
74.       Error Seeding
It is a process of consciously adding of errors to the source code, which can be used to evaluate the amount of residual errors after the system software test phase. After adding the errors to the source code, one can try to estimate the number of "real" errors in the code based on the number of seeded errors found.
75.       Exhaustive testing
is a test approach in which all possible data combinations are used for testing. Exploratory testing includes implicit data combinations present in the state of the software/data at the start of testing
76.       Exit Criteria
Exit criterion is used to determine whether a given test activity has been completed or NOT. Exit criteria can be defined for all of the test activities right from planning, specification and execution.
77.       Expected Outcome
During Test design stage, test cases are written such that each case has an expected outcome against which the actual outcomes are compared. The deviation, if any, is known as defect.
78.       Exploratory testing
During testing phase where there is severe time pressure, Exploratory testing technique is adopted that combines the experience of testers along with a structured approach to testing.
79.       Failover Testing
Failover testing is a testing technique that validates a system's ability to be able to allocate extra resource and to move operations to back-up systems during the server failure due to one or the other reasons. This determines if a system is capable of handling extra resource such as additional CPU or servers during critical failures or at the point the system reaches a performance threshold.
80.       Failure
Under certain circumstances, the product may produce wrong results. It is defined as the deviation of the delivered service from compliance with the specification.
81.       Fault
Software fault is also known as defect, arises when the expected result don't match with the actual results. It can also be error, flaw, failure, or fault in a computer program. Most bugs arise from mistakes and errors made by developers, architects.
82.       Fault injection Testing
Fault injection is a software testing technique by introducing faults into the code for improving the coverage and usually used with stress testing for robustness of the developed software.
83.       Feasible path
A control flow path through a function or a procedure is possible if there is an assignment to input values which drives execution down the path. We can also make use of a regular expression to describe a set of paths.
84.       Feature Testing
A Software feature can be defined as the changes made in the system to add new functionality or modify the existing functionality. Each feature is said to have a characteristics that is designed to be useful, intuitive and effective.
85.       Functional Decomposition
Functional decomposition corresponds to the various functional relationships as how the original complex business function was developed. It mainly focusses on how the overall functionality is developed and its interaction between various components.
86.       Functional Requirement
A functional requirement document defines the functionality of a system or one of its subsystems. It also depends upon the type of software, expected users and the type of system where the software is used.
Functional user requirements may be high-level statements of what the system should do but functional system requirements should also describe clearly about the system services in detail.
87.       Functional Testing
Functional Testing is a testing technique that is used to test the features/functionality of the system or Software, should cover all the scenarios including failure paths and boundary cases.
88.       Fuzz Testing
Fuzz testing is a software testing technique using which a random data is given as the inputs to the system. If the application fails, then those issues/defects are to be addressed by the system. In short, unexpected or random inputs might lead to unexpected results.
89.       Glass Box Testing
Glass box testing is a testing technique that examines the program structure and derives test data from the program logic/code. The other names of glass box testing are clear box testing, open box testing, logic driven testing or path driven testing or structural testing.
90.       Gorilla Testing
Gorilla Testing is a testing technique in which testers, sometimes developers also join hands with testers to test a particular module thoroughly in all aspects.
Gorilla Testing, a technique in which repetitive Manual Testing process, which a tester would have done several times before, is done again to test the robustness of the system.
91.       Grey Box Testing
Grey Box testing is testing technique performed with limited information about the internal functionality of the system. Grey Box testers have access to the detailed design documents along with information about requirements.


92.       GUI Software Testing
GUI testing is a testing technique in which the application's user interface is tested whether the application performs as expected with respect to user interface behaviour.
GUI Testing includes the application behaviour towards keyboard and mouse movements and how different GUI objects such as toolbars, buttons, menubars, dialog boxes, edit fields, lists, behavior to the user input.
93.       Harness
Test Harness, also known as automated test framework mostly used by developers. A test harness provides stubs and drivers, which will be used to replicate the missing items, which are small programs that interact with the software under test.
94.       Hybrid Integration Testing
We know that Integration Testing is a phase in software testing in which standalone modules are combined and tested as a single entity. During that phase, the interface and the communication between each one of those modules are tested. There are two popular approaches for Integration testing which is Top down Integration Testing and Bottom up Integration Testing.
95.       Implementation Testing
Let us first understand what implementation means. Implementation is the process of putting an action for the formulated plan. Before we implement, the plan should have been completed and our objectives should be clear.
Testing each one of those actions formulated in the plan is said to be implementation testing.
96.       Incremental Testing
After unit testing is completed, developer performs integration testing. It is the process of verifying the interfaces and interaction between modules. While integrating, there are lots of techniques used by developers and one of them is the incremental approach.
97.       Independent Testing
Independent testing corresponds to an independent team, who involve in testing activities other than developer to avoid author bias and is often more effective at finding defects and failures.

98.       Infeasible Testing
Infeasible Path in software testing context can be defined as the path that cannot be verified by any set of possible input values and most expensive activities of software testing.
99.       Inspection
Inspection is the most formal form of reviews, a strategy adopted during static testing phase.
100.    Install/Unistall Testing
Installation Testing: It is performed to verify if the software has been installed with all the necessary components and the application is working as expected. This is very important as installation would be the first user interaction with the end users.
Uninstallation Testing: Uninstallation testing is performed to verify if all the components of the application is removed during the process or NOT. All the files related to the application along with its folder structure have to be removed upon successful uninstallation. Post Uninstallation System should be able to go back to the stable state.
101.    Integration Testing
Upon completion of unit testing, the units or modules are to be integrated which gives raise to integration testing. The purpose of integration testing is to verify the functional, performance, and reliability between the modules that are integrated.
102.    Interface Testing
Interface Testing is performed to evaluate whether systems or components pass data and control correctly to one another. It is to verify if all the interactions between these modules are working properly and errors are handled properly.
103.    Internalization Testing
Internationalization testing is the process of verifying the application under test to work uniformly across multiple regions and cultures.
104.    Inter System Testing
Many a times, an application is hosted across locations; however, all data needs to be deployed over a central location. The process of testing the integration points for single application hosted at different locations and then ensuring correct data flow across each location is known as inter system testing.
105.    Isolation Testing
Isolation testing is the process of breaking down the system into various modules so that defects can be spotted easily in isolation. It happens especially when the bug is difficult to locate and resolve by development team.
106.    Issue
In the field of software testing, the terminologies such as issue, defect and bug are used interchangeably. However, Issue can be defined as the unit of work to accomplish an improvement in a system. It could be a bug, a change request, task, missing documentation, etc. It is usually raised by specifying the severity (high, medium, low or cosmetic).
107.    Keyboard Driven Testing
Keyword-driven testing is a type of functional automation testing framework which is also known as table-driven testing or action word based testing.
108.    Key Performance Indicator
A Key Performance Indicator (or KPI) is usually used to evaluate the software process efficiency evaluation. The important parameters and their usage are analysed and the outcome of the measurement is used to trigger any process improvements.
109.    Known Issues
Sometimes after code freeze, there might be medium or low priority defects, which cannot be fixed due to time constraints or budgets. Hence, the software would be released into the market with the known defects/issues.
110.    LCSAJ Testing
LCSAJ stands for Linear Code Sequence and Jump, a white box testing technique to identify the code coverage, which begins at the start of the program or branch and ends at the end of the program or the branch.
111.    Load Generator
Load Generator is a system, which is used to simulate load for performing performance testing. It can be for concurrency testing or SQL performance Testing. It is a system, which sends a request remotely called as host system or load driving system.

112.    Load Testing
Load testing is performance testing technique using which the response of the system is measured under various load conditions. The load testing is performed for normal and peak load conditions.
113.    Localization Testing
Localization testing is performed to verify the quality of a product's localization for a particular target culture/locale and is executed only on the localized version of the product.
114.    Logic Coverage Testing
Logic corresponds to the internal structure of the code and this testing is adopted for safety-critical applications such as software’s used in aviation industry. This Test verifies the subset of the total number of truth assignments to the expressions.
115.    Maintainability Cycle
The term maintainability corresponds to the ability to update or modify the system under test. This is a very important parameter as the system is subjected to changes throughout the software life cycle.
116.    Manual Testing
Manual testing is a testing process that is carried out manually in order to find defects without the usage of tools or automation scripting.
117.    Model Based Testing
Model-based testing is a software testing technique in which the test cases are derived from a model that describes the functional aspects of the system under test.
118.    Modified Condition Coverage
The Modified Condition/Decision Coverage enhances the condition/decision coverage criteria by requiring that each condition be shown to independently affect the outcome of the decision. This kind of testing is performed on mission critical application which might lead to death, injury or monetary loss.
119.    Modularity Driven Testing
Modularity driven testing is an automation testing framework in which small, independent modules of automation scripts are developed for the application under test. These individual scripts are constructed together to form a test realizing a particular test case.
120.    Monkey Testing
Monkey testing is a software testing technique in which the testing is performed on the system under test randomly. The Input data that is used to test also generated randomly and keyed into the system.
121.    Mutation Testing
Mutation testing is a structural testing technique, which uses the structure of the code to guide the testing process. On a very high level, it is the process of rewriting the source code in small ways in order to remove the redundancies in the source code.
122.    Negative Testing
Negative testing is performed to ensure that the product or application under test does NOT fail when an unexpected input is given. The purpose of Negative testing is to break the system and to verify the application response during unintentional inputs.
123.    Non-Functional Testing
Non-Functional testing is a software testing technique that verifies the attributes of the system such as memory leaks, performance or robustness of the system. Non-Functional testing is performed at all test levels.
124.    Operational Testing
Operational acceptance testing (OAT), a testing technique performed to verify the operational readiness (pre-release) of a product or application under test as part of Software test life cycle. This testing technique mainly focusses on operational readiness of the system, which is supposed to mimic the production environment.
125.    Orthogonal Array Testing
Orthogonal array testing is a systematic and statistical way of a black box testing technique used when number of inputs to the application under test is small but too complex for an exhaustive testing.
126.    Pair Testing
Pair Testing is a software testing technique in which two people test the same feature at the same place at same time by continuously exchanging ideas. It generates more ideas which result in better testing of the application under test.
127.    Pairwise Testing
Pairwise Testing also known as All-pairs testing is a testing approach taken for testing the software using combinatorial method. It's a method to test all the possible discrete combinations of the parameters involved.
128.    Parallel Testing
Parallel testing is a testing technique in which the same inputs are entered in two different versions of the application and reporting the anomalies.
129.    Partial test Automation
In software testing, there are many processes that do NOT fit the need of complete automation. Partial automation allows the organizations to observe the benefits of automation without the involvement of too much cost and time.
There are few test cases that cannot be automated for many reasons. In such cases, the automation is done to the level that is very much beneficial and the rest of the tests are executed manually.
130.    Passive Testing
Passive testing is a software testing technique that observes the system without interaction. On the other hand, active testing involves interaction with the system.
131.    Path Testing
Path Testing is a structural testing method based on the source code or algorithm and NOT based on the specifications. It can be applied at different levels of granularity.
132.    Peer Review
A peer review, a review technique, which is a static white-box testing which are conducted to spot the defects early in the life cycle that cannot be detected by black box testing techniques.
133.    Penetration Testing
Penetration testing a black box testing technique in which an authorized attempt is made to violate specific constraints stated in the form of a security or integrity policy of the system, application, network or database. It is a testing technique for discovering and documenting all the security holes that can be found in a system.

134.    Performance Testing
Performance testing, a non-functional testing technique performed to determine the system parameters in terms of responsiveness and stability under various workload. Performance testing measures the quality attributes of the system, such as scalability, reliability and resource usage.
135.    Portability Testing
Portability testing is a process of testing with ease with which the software or product can be moved from one environment to another. It is measured in terms of maximum amount of effort required to transfer from one system to another system.
136.    Positive Testing
Positive testing is a testing technique to show that a product or application under test does what it is supposed to do. Positive testing verifies how the application behaves for the positive set of data.
137.    Post Condition
Post Condition is a statement or set of statements describing the outcome of an action if true when the operation has completed its task.
138.    Pre-Condition
Pre-condition is a statement or set of statements that outline a condition that should be true when an action is called. The precondition statement indicates what must be true before the function is called.
139.    Predicted Outcome
During Test design stage, test cases are written such that each case has an expected or predicted outcome against which the actual outcomes are compared. The deviation, if any, is known as defect.
140.    Process Cycle Test
Process cycle Test, a black box test design technique in which test cases are designed to execute business scenarios.
141.    Progressive Testing
Progressive testing also known as incremental testing is used to test modules one after the other. When an application with a hierarchy such as parent-child module is being tested, the related modules would need to be tested first.
142.    Prototype Testing
Prototype Testing is conducted with the intent of finding defects before the website goes live. Online Prototype Testing allows seamlessly to collect quantitative, qualitative, and behavioural data while evaluating the user experience.
143.    Quality Assurance
Quality Assurance is defined as the auditing and reporting procedures used to provide the stakeholders with data needed to make well-informed decisions.
144.    Quality Control
Quality control is a set of methods used by organizations to achieve quality parameters or quality goals and continually improve the organization's ability to ensure that a software product will meet quality goals.
145.    Software Quality Management
Software Quality Management ensures that the required level of quality is achieved by submitting improvements to the product development process. SQA aims to develop a culture within the team and it is seen as everyone's responsibility.
146.    Random Testing
Random Testing, also known as monkey testing, is a form of functional black box testing that is performed when there is not enough time to write and execute the tests.
147.    Recovery Testing
Recovery testing is a type of non-functional testing technique performed in order to determine how quickly the system can recover after it has gone through system crash or hardware failure. Recovery testing is the forced failure of the software to verify if the recovery is successful.
148.    Regression  Testing
Regression testing a black box testing technique that consists of re-executing those tests that are impacted by the code changes. These tests should be executed as often as possible throughout the software development life cycle.
149.    Release Condition
Release Candidate (RC) is the build released internally to check if any critical problems have gone undetected into the code during the previous development period. Release candidates are NOT for production deployment, but they are for testing purposes only. However, in most of the cases, there are no differences between the final build and the last release candidate.
150.    Release Note
Release notes is a document, which is released as part of the final build that contains new enhancements that went in as part of that release and also the known issues of that build.
151.    Reliability Testing
Software reliability testing a testing technique that relates to testing a software's ability to function given environmental conditions consistently that helps uncover issues in the software design and functionality.
152.    Requirement
The requirements are the high-level descriptions about a particular system services, constraints or to a detailed specification that are generated during the requirements gathering process.
153.    Requirement Based Testing
Requirements-based testing is a testing approach in which test cases, conditions and data are derived from requirements. It includes functional tests and also non-functional attributes such as performance, reliability or usability.
154.    Requirement Traceability Testing
Requirements tracing, a process of documenting the links between the requirements and the work products developed to implement and verify those requirements. The RTM captures all requirements and their traceability in a single document delivered at the conclusion of the life cycle.
155.    Result
Result reporting is a mechanism with which the state of the product is presented to the customer from various angles
156.    Re-Testing
Re-testing is executing a previously failed test against new software to check if the problem is resolved. After a defect has been fixed, re-testing is performed to check the scenario under the same environmental conditions.


157.    Review
A review is a systematic examination of a document by one or more people with the main aim of finding and removing errors early in the software development life cycle. Reviews are used to verify documents such as requirements, system designs, code, test plans and test cases.
158.    Risk
Risk can be defined as the probability of an event, hazard, accident, threat or situation occurring and its undesirable consequences. It is a factor that could result in negative consequences and usually expressed as the product of impact and likelihood.
159.    Risk Management
Risk management is the process of identifying, assessing, and prioritizing the risks to minimize, monitor, and control the probability of unfortunate events.
160.    Root Cause
Root Cause is the process of identifying the contributing factors for the underlying variations in performance associated with adverse events or close calls.
161.    Safety Testing
Safety testing in software systems aims at optimizing system safety in the design, development, use, and maintenance of software systems and their integration with safety-critical hardware systems in a production environment.
162.    Sanity Testing
Sanity testing, a software testing technique performed by the test team for some basic tests. The aim of basic test is to be conducted whenever a new build is received for testing. The terminologies such as Smoke Test or Build Verification Test or Basic Acceptance Test or Sanity Test are interchangeably used, however, each one of them is used under a slightly different scenario
163.    Scalability Testing
Scalability, a performance testing parameter that investigates a system's ability to grow by increasing the workload per user, or the number of concurrent users, or the size of a database.
164.    Scenario Testing
Scenario testing is a software testing technique that makes best use of scenarios. Scenarios help a complex system to test better where in the scenarios are to be credible which are easy to evaluate.
165.    Script
A script is a set of instructions or commands of a certain program or scripting engine used to automate the process on the system it is executed.
166.    Security Testing
Security testing is a testing technique to determine if an information system protects data and maintains functionality as intended
167.    Simulation
A simulation is a computer model that mimics the operation of a real or proposed system and it is time based and takes into account all the resources and constraints involved.
168.    Smoke Testing
Smoke Testing is a testing technique that is inspired from hardware testing, which checks for the smoke from the hardware components once the hardware's power is switched on. Similarly in Software testing context, smoke testing refers to testing the basic functionality of the build.
169.    Soak testing
Soak Testing also known as Endurance Testing is performed to determine if the application under test can sustain the continuous loads.
170.    Software Requirement Specification
A software requirements specification (SRS) is a document that captures complete description about how the system is expected to perform. It is usually signed off at the end of requirements engineering phase.
171.    Stability
Stability testing, a software testing technique adopted to verify if application can continuously perform well within or just above the acceptable period.
172.    State Transition Testing
State Transition testing, a black box testing technique, in which outputs are triggered by changes to the input conditions or changes to 'state' of the system. In other words, tests are designed to execute valid and invalid state transitions.
173.    Static Testing
Static Testing, a software testing technique in which the software is tested without executing the code
174.    Statistical Testing
Statistical Testing makes use of statistical methods to determine the reliability of the program. Statistical testing focuses on how faulty programs can affect its operating conditions.
175.    Storage Testing
Storage testing is a testing technique to verify the application under test, stores the relevant data in the appropriate directories and it has sufficient space to prevent unexpected termination due to insufficient disk space.
176.    Stress Testing
Stress testing a Non-Functional testing technique that is performed as part of performance testing. During stress testing, the system is monitored after subjecting the system to overload to ensure that the system can sustain the stress.
177.    Structural Testing
Structural testing, also known as glass box testing or white box testing is an approach where the tests are derived from the knowledge of the software's structure or internal implementation.
178.    Structural Walkthrough
A structured walkthrough, a static testing technique performed in an organized manner between a group of peers to review and discuss the technical aspects of software development process. The main objective in a structured walkthrough is to find defects inorder to improve the quality of the product.
179.    Stub
Stubs are used during Top-down integration testing, in order to simulate the behaviour of the lower-level modules that are not yet integrated. Stubs are the modules that act as temporary replacement for a called module and give the same output as that of the actual product.
180.    Symbolic Execution
Symbolic execution is a software testing technique that is useful to aid the generation of test data and in proving the program quality.
181.    Syntax Testing
Syntax Testing, a black box testing technique, involves testing the System inputs and it is usually automated because syntax testing produces a large number of tests.

182.    Syntax Integration Testing
System Integration Testing(SIT) is a black box testing technique that evaluates the system's compliance against specified requirements. System Integration Testing is usually performed on subset of system while system testing is performed on a complete system and is preceded by the user acceptance test (UAT).
183.    System Testing
System Testing (ST) is a black box testing technique performed to evaluate the complete system the system's compliance against specified requirements. In System testing, the functionalities of the system are tested from an end-to-end perspective.
184.    System Under Test
System under test (SUT) refers to a system that is being validated by the testers. The terminology is also known as application under test
185.    Technical Review
A Technical review is a static white-box testing technique which is conducted to spot the defects early in the life cycle that cannot be detected by black box testing techniques
186.    Test Approach
A test approach is the test strategy implementation of a project, defines how testing would be carried out.
187.    Test Automation
Software Test automation makes use of specialized tools to control the execution of tests and compares the actual results against the expected result. Usually, regression tests, which are repetitive actions, are automated.
188.    Test Basis
Test basis is defined as the source of information or the document that is needed to write test cases and also for test analysis.
189.    Test Bed
The test execution environment configured for testing. Test bed consists of specific hardware, software, Operating system, network configuration, the product under test, other system software and application software.


190.    Test Case
A test case is a document, which has a set of test data, preconditions, expected results and postconditions, developed for a particular test scenario in order to verify compliance against a specific requirement.
191.    Test Suite
Test suite is a container that has a set of tests which helps testers in executing and reporting the test execution status. It can take any of the three states namely Active, Inprogress and completed.
192.    Test Completion Criteria
A check against the test exit criteria is very much essential before we claim that the testing is completed. Before putting an end to test process the product quality is measured against the test completion criteria.
193.    Test Completion report
Test completion reporting is a process where by test metrics are reported in summarised format to update the stakeholders which enables them to take an informed decision.
194.    Test Data
Test Data is data that is used to execute the tests on testware. Test data needs to be precise and exhaustive to uncover the defects.
195.    Test data Management
Test Data management is very critical during the test life cycle. The amount of data that is generated is enormous for testing the application. Reporting the results it minimizes the time spent for processing the data and creating reports greatly contributes to the efficiency of an entire product.
196.    Test Driven Development
Test-driven development starts with developing test for each one of the features. The test might fail as the tests are developed even before the development. Development team then develops and refactors the code to pass the test.
197.    Test Driver
Test Drivers are used during Bottom-up integration testing in order to simulate the behaviour of the upper level modules that are not yet integrated. Test Drivers are the modules that act as temporary replacement for a calling module and give the same output as that of the actual product.

198.    Test Environment
Test Environment consists of elements that support test execution with software, hardware and network configured. Test environment configuration must mimic the production environment in order to uncover any environment/configuration related issues.
199.    Test Execution
Test execution is the process of executing the code and comparing the expected and actual results
200.    Test Management
Test management, process of managing the tests. A test management is also performed using tools to manage both types of tests, automated and manual, that have been previously specified by a test procedure.
201.    Test Maturity Model
Test maturity model is based on capability maturity model specifies an increasing series of levels of a software development organization. The higher the level, the better the software development process, hence reaching each level is an expensive and time-consuming process.
202.    Test Plan
Test planning, the most important activity to ensure that there is initially a list of tasks and milestones in a baseline plan to track the progress of the project. It also defines the size of the test effort.
203.    Test Steps
Test Steps describe the execution steps and expected results that are documented against each one of those steps.
204.    Test Strategy
Test Strategy is also known as test approach defines how testing would be carried out.
205.    Testing Tools
Tools from a software testing context can be defined as a product that supports one or more test activities right from planning, requirements, creating a build, test execution, defect logging and test analysis.


206.    Thread Testing
A thread is the smallest unit of work that a system can execute. Thread testing, a software testing technique used during early integration testing phase to verify the key functional capabilities that carry out specific task. These kinds of techniques are very helpful if an application is of type that uses client server architecture.
Performing Thread testing on valid business transaction through the integrated client, server and network is very critical. Threads are integrated and tested incrementally as subsystems and then performed as a whole system.
207.    Top Down Integration Testing
Top-down integration testing is an integration testing technique used in order to simulate the behaviour of the lower-level modules that are not yet integrated. Stubs are the modules that act as temporary replacement for a called module and give the same output as that of the actual product.
208.    Total Quality Management
TQM can be defined as a management technique for improving processes, products, services and the other approaches associated with the product. It focusses on the entire business and NOT just on a particular project or process.
209.    Traceablity
The significance of traceability within a requirement tool or a test management tool (like HP Quality Center) enables links between requirements and tests. This notifies what needs to be changed when a requirement changes.
210.    Unit testing
Unit testing, a testing technique using which individual modules are tested to determine if there are any issues by the developer himself. It is concerned with functional correctness of the standalone modules.
211.    Unreachable Code
Unreachable code, a part of the source code that will never be executed due to inappropriate exit points/control flow. The other kind of unreachable code is referred as dead code, although dead code might get executed but has no effect on the functionality of the system.
212.    Usability Testing
Usability testing, a non-functional testing technique that is a measure of how easily the system can be used by end users.

213.    Use Case Testing
Use Case Testing is a functional black box testing technique that helps testers to identify test scenarios that exercise the whole system on each transaction basis from start to finish.
214.    User Acceptance testing
User acceptance testing, a testing methodology where the clients/end users involved in testing the product to validate the product against their requirements. It is performed at client location at developer's site.
215.    User Interface Testing
User interface testing, a testing technique used to identify the presence of defects is a product/software under test by using Graphical user interface [GUI].
216.    Validation
The process of evaluating software during the development process or at the end of the development process to determine whether it satisfies specified business requirements.
217.    Verification
Verification is the process of evaluating work-products of a development phase to determine whether they meet the specified requirements.
218.    Virtual Users
Virtual user is a common terminology used from a performance testing point of view. A Virtual user generator enables testers to create virtual users in order to increase the user load on the application under test.
219.    Volume Testing
Volume testing is a Non-functional testing that is performed as part of performance testing where the software is subjected to a huge volume of data. It is also referred as flood testing.
220.    Vulnerability testing
A software testing technique performed to evaluate the quantum of risks involved in the system in order to reduce the probability of the event
221.    Web Application Testing
Web application testing, a software testing technique exclusively adopted to test the applications that are hosted on web in which the application interfaces and other functionalities are tested.
222.    White Box Testing
White box testing is a testing technique, that examines the program structure and derives test data from the program logic/code. The other names of glass box testing are clear box testing, open box testing, logic driven testing or path driven testing or structural testing.
223.    Workflow Testing
Workflow processes technique in software testing by routing a record through each possible path. These tests are performed to ensure that each workflow process accurately reflects the business process.







No comments:

Post a Comment