Data Integrity Testing
Data integrity refers to the qualities of the data in databases and is the measurement by which users examine reliability, data quality and usefulness. Data integrity testing verifies that converted data is accurate and functions correctly within a given applications.
Testing data integrity involves:
- Ensuring the compatibility of old versions of operating systems, data with old hardware, old data and with different interfaces.
- Verifying whether blank values can be retrieved from the data’s.
- Verifying that default values are saved in databases.
- Verifying that each value of a single set of data’s is fully saved to the databases.
Data Driven Testing
It is an automation framework where test input and/or output values are read from data files. The different data files may include data pools, ODBC sources, csv files, Excel files, ADO objects, etc. The data is then loaded into variables in recorded or manually coded scripts.
Data Flow Testing
Data flow testing (DFT) is NOT directly related to the design diagrams of data-flow-diagrams (DFD).It is a form of structural testing and a White Box testing technique that focuses on program variables and the paths:
- From the point where a variable, v, is defined or assigned a value
- To the point where that variable, v, is used
A database testing is necessary to ensure that the values that an application is retrieving or storing into the database are accurate or not. The following database testing:
- Data Integrity
- Business rule conformance
Debugging is the process of locating and fixing or bypassing bugs (errors) in computer program code or the engineering of a hardware device. Debugging tools (called debuggers) help identify coding errors at various development stages.
Decision Coverage Testing
Decision Coverage related to branch testing, is the assessment of the percentage of decision outcomes (eg: the True and False option of an IF statement) that has been exercised by a test case suites. Decision testing derives test cases to execute specific decision outcomes, normally to increase decision coverage.
A Software Bug/ Defect are conditions in a software products which does not meet software requirements or end-user expectations (which may not be specified but are reasonable).
Defect Logging and Tracking
A process of finding defects in the applications under test or product s by testing or recording feedback from customers and making new versions of the product that fix the defects or the client’s feedback.
Defect tracking is an important process in software engineering as Complex and business critical systems have hundreds of defects. The number of defects gets multiplied over a period of time and to effectively manage them, defect tracking system is used to make the job easier.
Defect Life Cycle
Defect life cycle is a cycle which a defect goes through during its lifetime. It starts when defect is found and ends when a defect is closed, after ensuring it’s not reproduced. Defect life cycle is related to the bug found during testing.
The Life cycle of the bug can be shown diagrammatically as follows:
- New - Potential defect that is raised and yet to be validated.
- Assigned - Assigned against a development team to address it but not yet resolved.
- Active - The Defect is being addressed by the developer and investigation is under progress. At these stages there are two possible outcomes; viz - Deferred or Rejected.
- Test - The Defect is fixed and ready for testing.
- Verified - The Defect that is retested and the test has been verified by QA.
- Closed - The final state of the defect that can be closed after the QA retesting or can be closed if the defect is duplicate or considered as NOT a defect.
- Reopened - When the defect is NOT fixed, QA reopens/reactivates the defect.
- Deferred - When a defect cannot be addressed in that particular cycle it is deferred to future release.
- Rejected - A defect can be rejected for any of the 3 reasons; viz - duplicate defect, NOT a Defect, Non Reproducible.
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.
It examines an application's requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.
It is a test that exercises a feature of a product in full detail.
Destructive testing, in an IT context, is a software assessment method used to find points of failure in a program. Essentially, the method involves interacting with the software incorrectly, for example entering data that is corrupt or in the wrong format, to determine whether the application would fail were an end user to make that error.
The development environment helps the developers to develop the application or product using a set of processes and programming tools.
Documentation testing is a non-functional type of software testing it involves testing of the documented artifacts that are usually developed before or during the testing of Software.
Domain testing is a type of functional testing and tests the application by feeding interesting inputs and evaluating its outputs.
This category of Performance testing is used to determine the characteristics of a system under load conditions, over time. This testing effort can help identify the stability of transaction response times over the duration of the test, determine if there are memory leaks, evaluate I/O activity levels, and evaluate database resource consumption.
Dynamic Testing is used to test the software by executing it. Dynamic Testing is also known as Dynamic Analysis, this technique is used to test the dynamic behavior of the code. In dynamic testing the software should be compiled and executed, this analyses the variable quantities like memory usage, CPU usage, response time and overall performance of the software. Dynamic testing involves working with the software, input values are given and output values are checked with the expected output. Dynamic testing is the Validation part of Verification and Validation.
Some of the Dynamic Testing Techniques are given below: