Ques.26. Explain bug lifecycle or the different states of a bug.
Ans. A bug goes through the following phases in software development-
Ques.27. What are the different test design techniques?
Ans. Test design techniques are different standards of test designing which allow systematic and widely accepted test cases. The different test design techniques can be categorized as static test design technique and dynamic test design technique.
Ques.28. Explain the different types of specification based test design technique?
Ans. Specification based test design techniques are also referred to as blackbox testing. It involves testing based on the specification of the system under test without knowing its internal architecture. The different types of specification based test design or black box testing techniques are-
Ques.29. Explain equivalence class partitioning.
Ans. Equivalence class partitioning is a specification based black box testing techniques. In equivalence class partitioning, set of input data that defines different test conditions are partitioned into logically similar groups such that using even a single test data from the group for testing can be considered as similar to using all the other data in that group. E.g. for testing a Square program(program that prints the square of a number- the equivalence classes can be-
Set of Negative numbers, whole numbers, decimal numbers, set of large numbers etc.
Ques.30. What is boundary value analysis?
Ans. Boundary value analysis is a software testing technique for designing test cases wherein the boundary values of the classes of the equivalence class partitioning are taken as input to the test cases e.g. if the test data lies in the range of 0-100, the boundary value analysis will include test data - 0,1, 99, 100.
Ques.31. What is decision table testing?
Ans. Decision table testing is a type of specification based test design technique or black box testing technique in which testing is carried out using decision tables showing application's behaviour based on different combination of input values. Decision tables are particularly helpful in designing test cases for complex business scenarios involving verification of application with multiple combinations of input.
Ques.32. What is a cause effect graph?
Ans. A cause effect graph testing is black box test design technique in which graphical representation of input i.e. cause and output i.e. effect is used for test designing. This technique uses different notations representing AND, OR, NOT etc relations between the input conditions leading to output.
Ques.33. What is state transition testing?
Ans. State transition testing is a black box test design technique based on state machine model. State transition testing is based on the concept that a system can be defined as a collection of multiple states and the transition from one state to other happens because of some event.
Ques.34. What is use case testing?
Ans. A use case testing is a black box testing approach in which testing is carried out using use cases. A use case scenario is seen as interaction between the application and actors(users). These use cases are used for depicting requirements and hence can also serve as basis for acceptance testing.
Ques.35. What is structure based testing?
Ans. Structure based test design techniques are also referred to as white box testing. In this techniques the knowledge of code or internal architecture of the system is required to carry out the testing. The various kinds of testing structure based or white testing techniques are-
Ques.36. What is Statement testing and statement coverage in white box testing?
Ans. Statement testing is a white box testing approach in which test scripts are designed to execute code statements.
Statement coverage is the measure of the percentage of statements of code executed by the test scripts out of the total code statements in the application. The statement coverage is the least preferred metric for checking test coverage.
Ques.37. What is decision testing or branch testing?
Ans. Decision testing or branch testing is a white box testing approach in which test coverage is measured by the percentage of decision points(e.g. if-else conditions) executed out of the total decision points in the application.
Ques.38. What are the different levels of the testing?
Ans. Testing can be performed at different levels during the development process. Performing testing activities at multiple levels help in early identification of bugs. The different levels of testing are -
Ques.39. What is unit testing?
Ans. Unit testing is the first level of testing and it involves testing of individual modules of the software. It is usually performed by developers.
Ques.40. What is integration testing?
Ans. Integration testing is performed after unit testing. In integration testing we test the group of related modules. It aims at finding interfacing issues between the modules.
Ques.41. What are the different types of integration testing?
Ans. The different type of integration testing are-
For details check Integration testing.
Ques.42. What is stub?
Ans. In case of Top-down integration many a times lower level modules are not developed while beginning testing/integration with top level modules. In those cases Stubs or dummy modules are used that simulate the working of modules by providing hardcoded or expected output based on the input values.
Ques.43. What is driver?
Ans. In case of Bottom up integration drivers are used to simulate the working of top level modules in order to test the related modules lower in the heirarchy.
Ques.44. What is a test harness? Why do we need a test harness?
Ans. A test harness is a collection of test scripts and test data usually associated with unit and integration testing. It involves stubs and drivers that are required for testing software modules and integrated components.
Ques.45. What is system testing?
Ans. System testing is the level of testing where the complete software is tested as a whole. The conformance of the application with its business requirements is checked in system testing.
Ques.46. What is acceptance testing?
Ans. Acceptance testing is a testing performed by the potential end user or customers to check if the software conforms to the business requirements and can be accepted for use.
Ques.47. What is alpha testing?
Ans. Alpha testing is a type of acceptance testing that is performed end users at the developer site.
Ques.48. What is beta testing?
Ans. Beta testing is the testing done by end users at end user's site. It allows users to provide direct input about the software to the development company.
Ques.49. What is adhoc testing?
Ans. Adhoc testing is an unstructured way of testing that is performed without any formal documentation or proper planning.
Ques.50. What is monkey testing?
Ans. Monkey testing is a type of testing that is performed randomly without any predefined test cases or test inputs.