Multiple Choice Testing Question Answers

1 : With thorough testing it is possible to remove all defects from a program prior to delivery to the customer.
a. True
b. False
ANSWER : b

2 : Which of the following are characteristics of testable Software ?
a. observability
b. simplicity
c. stability
d. all of the above
ANSWER : d

3 : The testing technique that requires devising test cases to demonstrate that each program function is operational is called
a. black-box testing
b. glass-box testing
c. grey-box testing
d. white-box testing
ANSWER : a

4 : The testing technique that requires devising test cases to exercise the internal logic of a software module is called
a. behavioral testing
b. black-box testing
c. grey-box testing
d. white-box testing
ANSWER : d

5 : What types of errors are missed by black-box testing and can be uncovered by white-box testing ?
a. behavioral errors
b. logic errors
c. performance errors
d. typographical errors
e. both b and d
ANSWER : e

6 : Program flow graphs are identical to program flowcharts.
a. True
b. False
ANSWER : b

7 : The cyclomatic complexity metric provides the designer with information regarding the number of
a. cycles in the program
b. errors in the program
c. independent logic paths in the program
d. statements in the program
ANSWER : c

8 : The cyclomatic complexity of a program can be computed directly from a PDL representation of an algorithm without drawing a program flow graph
.a. True
b. False
ANSWER : a

9 : Condition testing is a control structure testing technique where the criteria used to design test cases is that they
a. rely on basis path testing
b. exercise the logical conditions in a program module
c. select test paths based on the locations and uses of variables
d. focus on testing the validity of loop constructs
ANSWER : b

10 : Data flow testing is a control structure testing technique where the criteria used to design test cases is that they
a. rely on basis path testing
b. exercise the logical conditions in a program module
c. select test paths based on the locations and uses of variables
d. focus on testing the validity of loop constructs
ANSWER : c

11 : Loop testing is a control structure testing technique where the criteria used to design test cases is that they
a. rely basis path testing
b. exercise the logical conditions in a program module
c. select test paths based on the locations and uses of variables
d. focus on testing the validity of loop constructs
ANSWER : d

12 : Black-box testing attempts to find errors in which of the following categories
a. incorrect or missing functions
b. interface errors
c. performance errors
d. all of the abovee. none of the above
ANSWER : d

13 : Graph-based testing methods can only be used for object-oriented systems
a. True
b. False
ANSWER : b

14 : Equivalence testing divides the input domain into classes of data from which test cases can be derived to reduce the total number of test cases that must be developed.
a. True b. False
ANSWER : a

15 : Boundary value analysis can only be used to do white-box testing.
a. True
b. False
ANSWER : b

16 : Comparison testing is typically done to test two competing products as part of customer market analysis prior to product release.
a. True
b. False
ANSWER : b

17 : Orthogonal array testing enables the test designer to maximize the coverage of the test cases devised for relatively small input domains.
a. True b. False
ANSWER : a

18 : Test case design "in the small" for OO software is driven by the algorithmic detail ofthe individual operations.
a. True
b. False
ANSWER : a

19 : Encapsulation of attributes and operations inside objects makes it easy to obtain object state information during testing.
a. True
b. False
ANSWER : b

20 : Use-cases can provide useful input into the design of black-box and state-based tests of OO software.
a. True
b. False
ANSWER : a

21 : Fault-based testing is best reserved for
a. conventional software testing
b. operations and classes that are critical or suspect
c. use-case validation
d. white-box testing of operator algorithms
ANSWER : b

22 : Testing OO class operations is made more difficult by
a. encapsulation
b. inheritance
c. polymorphism
d. both b and c
ANSWER : d

23 : Scenario-based testing
a. concentrates on actor and software interaction
b. misses errors in specifications
c. misses errors in subsystem interactions
d. both a and b
ANSWER : a

24 : Deep structure testing is not designed to
a. examine object behaviors
b. exercise communication mechanisms
c. exercise object dependencies
d. exercise structure observable by the user
ANSWER : d

25 : Random order tests are conducted to exercise different class instance life histories.
a. True
b. False
ANSWER : a

26 : Which of these techniques is not useful for partition testing at the class level
a. attribute-based partitioning
b. category-based partitioning
c. equivalence class partitioning
d. state-based partitioning
ANSWER : c

27 : Multiple class testing is too complex to be tested using random test cases.
a. True
b. False
ANSWER : b

28 : Tests derived from behavioral class models should be based on the
a. data flowdiagram
b. object-relation diagram
c. state diagram
d. use-case diagram
ANSWER : c

29 : Client/server architectures cannot be properly tested because network load is highly variable.
a. True
b. False
ANSWER : b

30 : Real-time applications add a new and potentially difficult element to the testing mix
a. performance
b. reliability
c. security
d. time
ANSWER : d

What Is WSDL?

WSDL: Web Service Description Language

This New Breed of dot com needs a solution that can describe the services .the web services it offers specially this means that you need a format or some type of grammar with which you can describe the answers to the following questions.
  • What are the services offered in Your Online business?
  • How Can You Invoke Your business services?
  • What information do your business services need from the user when he or she invoke your Service?
  • How Will the user Provide the required Information?
  • In which Format will the services send information back to user?

Testing Definition In Simple

  • What's Ad Hoc Testing ?
  • A testing where the tester tries to break the software by randomly trying functionality of software.
  • What's the Accessibility Testing ?
  • Testing that determines if software will be usable by people with disabilities.
  • What's the Alpha Testing ?
  • The Alpha Testing is conducted at the developer sites and in a controlled environment by the end user of the software
  • What's the Beta Testing ?
  • Testing the application after the installation at the client place।
  • What is Component Testing ?
  • Testing of individual software components (Unit Testing).
  • What's Compatibility Testing ?
  • In Compatibility testing we can test that software is compatible with other elements of system.
  • What is Concurrency Testing ?
  • Multi-user testing geared towards determining the effects of accessing the same application code, module or database records. Identifies and measures the level of locking, deadlocking and use of single-threaded code and locking semaphores.
  • What is Conformance Testing ?
  • The process of testing that an implementation conforms to the specification on which it is based. Usually applied to testing conformance to a formal standard.
  • What is Context Driven Testing ?
  • The context-driven school of software testing is flavor of Agile Testing that advocates continuous and creative evaluation of testing opportunities in light of the potential information revealed and the value of that information to the organization right now.
  • What is Data Driven Testing ?
  • Testing in which the action of a test case is parameterized by externally defined data values, maintained as a file or spreadsheet. A common technique in Automated Testing.
  • What is Conversion Testing ?
  • Testing of programs or procedures used to convert data from existing systems for use in replacement systems.
  • What is Dependency Testing ?
  • Examines an application's requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.
  • What is Depth Testing ?
  • A test that exercises a feature of a product in full detail.
  • What is Dynamic Testing ?
  • Testing software through executing it. See also Static Testing.
  • What is Endurance Testing ?
  • Checks for memory leaks or other problems that may occur with prolonged execution.
  • What is End-to-End testing ?
  • Testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
  • What is Exhaustive Testing ?
  • Testing which covers all combinations of input values and preconditions for an element of the software under test.
  • What is Gorilla Testing ?
  • Testing one particular module, functionality heavily.
  • What is Installation Testing ?
  • Confirms that the application under test recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.
  • What is Localization Testing ?
  • This term refers to making software specifically designed for a specific locality.
  • What is Loop Testing ?
  • A white box testing technique that exercises program loops.
  • What is Mutation Testing ?
  • Mutation testing is a method for determining if a set of test data or test cases is useful, by deliberately introducing various code changes ('bugs') and retesting with the original test data/cases to determine if the 'bugs' are detected. Proper implementation requires large computational resources
  • What is Monkey Testing ?
  • Testing a system or an Application on the fly, i.e just few tests here and there to ensure the system or an application does not crash out.
  • What is Positive Testing ?
  • Testing aimed at showing software works. Also known as "test to pass". See also Negative Testing.
  • What is Negative Testing ?
  • Testing aimed at showing software does not work. Also known as "test to fail". See also Positive Testing.
  • What is Path Testing ?
  • Testing in which all paths in the program source code are tested at least once.
  • What is Performance Testing ?
  • Testing conducted to evaluate the compliance of a system or component with specified performance requirements. Often this is performed using an automated test tool to simulate large number of users. Also know as "Load Testing".
  • What is Ramp Testing ?
  • Continuously raising an input signal until the system breaks down.
  • What is Recovery Testing ?
  • Confirms that the program recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.
  • What is the Re-testing testing ?
  • Retesting- Again testing the functionality of the application.
  • What is the Regression testing ?
  • Regression- Check that change in code have not effected the working functionality
  • What is Sanity Testing ?
  • Brief test of major functional elements of a piece of software to determine if its basically operational.
  • What is Scalability Testing ?
  • Performance testing focused on ensuring the application under test gracefully handles increases in work load in Normal Condition.
  • What is Security Testing ?
  • Testing which confirms that the program can restrict access to authorized personnel and that the authorized personnel can access the functions available to their security level.
  • What is Stress Testing ?
  • Stress testing is a form of testing that is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results in Abnormal Condition.
  • What is Smoke Testing ?
  • A quick-and-dirty test that the major functions of a piece of software work. Originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire.
  • What is Soak Testing ?
  • Running a system at high load for a prolonged period of time. For example, running several times more transactions in an entire day (or night) than would be expected in a busy day, to identify and performance problems that appear after a large number of transactions have been executed.it means Reliability with load.
  • What's the Usability testing ?
  • Usability testing is for user friendliness.
  • What's the User acceptance testing ?
  • User acceptance testing is determining if software is satisfactory to an end-user or customer.
  • What's the Volume Testing ?
  • We can perform the Volume testing, where the system is subjected to large volume of data.

Test Plan

Test Plan:- A Test Plan is What To Test ? and How To Test? The Test Plan describes the overall approach to development, integration, qualification, and acceptance testing. It describes plans for testing software systems; test environment to be used for the testing; identifies tests to be performed, and provides schedules for test activities. The software Test Plan is used by IT Manager, Test Manager, Documentation Manager, System Administrator, Technical Architect, Development Manager, Project Manager.
The Test Plan is used to perform system testing, subsystem testing, assembly testing, subassembly testing, module testing, user acceptance testing. The Test Plan includes step by step instructions for the various types of testing that will occur during the project life cycle; it also defines the required test equipment, calibration requirements, test facility requirements, and other key factors.
This is a sample of an outline for a test plan. It has been designed for medium to small test projects, and thus is fairly lightweight. It is by necessity general, because each enterprise, each development group, each testing group, and each development project is different. This outline should be used as a set of guidelines for creating your own standard template; add to it or subtract from it as you find appropriate.

Differences in Testing

Difference Between White box and Black Box Testing?
Black box testing - not based on any knowledge of internal design or code. Tests are based on requirements and functionality.
White box testing - based on knowledge of the internal logic of an application's code. Tests are based on coverage of code statements, branches, paths, conditions.
Black-box and white-box are test design methods. Black-box test design treats the system as a “black-box”, so it doesn’t explicitly use knowledge of the internal structure. Black-box test design is usually described as focusing on testing functional requirements. Synonyms for black-box include: behavioral, functional, opaque-box, and closed-box. White-box test design allows one to peek inside the “box”, and it focuses specifically on using internal knowledge of the software to guide the selection of test data. Synonyms for white-box include: structural, glass-box and clear-box. While black-box and white-box are terms that are still in popular use, many people prefer the terms "behavioral" and "structural". Behavioral test design is slightly different from black-box test design because the use of internal knowledge isn't strictly forbidden, but it's still discouraged. In practice, it hasn't proven useful to use a single test design method. One has to use a mixture of different methods so that they aren't hindered by the limitations of a particular one. Some call this "gray-box" or "translucent-box" test design, but others wish we'd stop talking about boxes altogether. It is important to understand that these methods are used during the test design phase, and their influence is hard to see in the tests once they're implemented. Note that any level of testing (unit testing, system testing, etc.) can use any test design methods. Unit testing is usually associated with structural test design, but this is because testers usually don't have well-defined requirements at the unit level to validate .
What are unit, component and integration testing?
Note that the definitions of unit, component, integration, and integration testing are recursive:
Unit. The smallest compilable component. A unit typically is the work of one programmer (At least in principle). As defined, it does not include any called sub-components (for procedural languages) or communicating components in general.
Unit Testing: in unit testing called components (or communicating components) are replaced with stubs, simulators, or trusted components. Calling components are replaced with drivers or trusted super-components. The unit is tested in isolation.
Component: a unit is a component. The integration of one or more components is a component.
Note: The reason for "one or more" as contrasted to "Two or more" is to allow for components that call themselves recursively.
Component testing: same as unit testing except that all stubs and simulators are replaced with the real thing.
Two components (actually one or more) are said to be integrated when:
a. They have been compiled, linked, and loaded together.
b. They have successfully passed the integration tests at the interface between them. Thus, components A and B are integrated to create a new, larger, component (A,B).
Note that this does not conflict with the idea of incremental integration—it just means that A is a big component and B, the component added, is a small one.
Integration testing: carrying out integration tests.
Integration tests (After Leung and White) for procedural languages. This is easily generalized for OO(Object Oriented) languages by using the equivalent constructs for message passing. In the following, the word "call" is to be understood in the most general sense of a data flow and is not restricted to just formal subroutine calls and returns – for example, passage of data through global data structures and/or the use of pointers.
As to the difference between integration testing and system testing. System testing specifically goes after behaviors and bugs that are properties of the entire system as distinct from properties attributable to components (unless, of course, the component in question is the entire system). Examples of system testing issues: Resource loss bugs, throughput bugs, performance, security, recovery, Transaction synchronization bugs (often misnamed "timing bugs").
What's the difference between load and stress testing ?
One of the most common, but unfortunate misuse of terminology is treating “load testing” and “stress testing” as synonymous. The consequence of this ignorant semantic abuse is usually that the system is neither properly “load tested” nor subjected to a meaningful stress test.
Stress testing is subjecting a system to an unreasonable load while denying it the resources (e.g., RAM, disc, MIPS, interrupts, etc.) needed to process that load. The idea is to stress a system to the breaking point in order to find bugs that will make that break potentially harmful. The system is not expected to process the overload without adequate resources, but to behave (e.g., fail) in a decent manner (e.g., not corrupting or losing data). Bugs and failure modes discovered under stress testing may or may not be repaired depending on the application, the failure mode, consequences, etc. The load (incoming transaction stream) in stress testing is often deliberately distorted so as to force the system into resource depletion.
Load testing is subjecting a system to a statistically representative (usually) load. The two main reasons for using such loads are in support of software reliability testing and in performance testing. The term "load testing" by itself is too vague and imprecise to warrant use. For example, do you mean representative load," "overload," "high load," etc. In performance testing, load is varied from a minimum (zero) to the maximum level the system can sustain without running out of resources or having, transactions ,suffer (application-specific) excessive delay.
A third use of the term is as a test whose objective is to determine the maximum sustainable load the system can handle. In this usage, "load testing" is merely testing at the highest transaction arrival rate in performance testing.
What's the difference between QA and testing?
QA is more a preventive thing, ensuring quality in the company and therefore the product rather than just testing the product for software bugs?
TESTING means "quality control"
QUALITY CONTROL measures the quality of a product
QUALITY ASSURANCE measures the quality of processes used to create a quality product.

Testing Interview Question.

  • 1. What is Software Testing?
  • 2. What is the Purpose of Testing?
  • 3. What types of testing do testers perform?
  • 4. What is the Outcome of Testing?
  • 5. What kind of testing have you done?
  • 6. What is the need for testing?
  • 7. What are the entry criteria for Functionality and Performance testing?
  • 8. What is test metrics?
  • 9. Why do you go for White box testing, when Black box testing is available?
  • 10. What are the entry criteria for Automation testing?
  • 11. When to start and Stop Testing?
  • 12. What is Quality?
  • 13. What is Baseline document, Can you say any two?
  • 14. What is verification?
  • 15. What is validation?
  • 16. What is quality assurance?
  • 17. What is quality control?
  • 18. What is SDLC and TDLC?
  • 19. What are the Qualities of a Tester?
  • 20. When to start and Stop Testing?
  • 21. What are the various levels of testing?
  • 22. What are the types of testing you know and you experienced?
  • 23. What exactly is Heuristic checklist approach for unit testing?
  • 24. After completing testing, what would you deliver to the client?
  • 25. What is a Test Bed?
  • 26. What is a Data Guidelines?
  • 27. Why do you go for Test Bed?
  • 28. What is Severity and Priority and who will decide what?
  • 29. Can Automation testing replace manual testing? If it so, how?
  • 30. What is a test case?
  • 31. What is a test condition?
  • 32. What is the test script?
  • 33. What is the test data?
  • 34. What is an Inconsistent bug?
  • 35. What is the difference between Re-testing and Regression testing?
  • 36. What are the different types of testing techniques?
  • 37. What are the different types of test case techniques?
  • 38. What are the risks involved in testing?
  • 39. Differentiate Test bed and Test Environment?
  • 40. What ifs the difference between defect, error, bug, failure, fault?
  • 41. What is the difference between quality and testing?
  • 42. What is the difference between White & Black Box Testing?
  • 43. What is the difference between Quality Assurance and Quality Control?
  • 44. What is the difference between Testing and debugging?
  • 45. What is the difference between bug and defect?
  • 46. What is the difference between verification and validation?
  • 47. What is the difference between functional spec. and Business requirement specification?
  • 48. What is the difference between unit testing and integration testing?
  • 49. What is the diff between Volume & Load?
  • 50. What is diff between Volume & Stress?

Do Testers Need Programming Skills ?

Do Testers Need Programming Skills ? A Good Tester Friend View.
Many freshers (especially people with Computer Science background) does not take up the first job as QA engineer and the reason they give is that many organizations give preference to people with development skills even while hiring people for testing positions. This raises the question does the testers need to be coders ? Some blogs report that organization like Microsoft hire the coders for test positions because they want to automate everything and eliminate manual testing. Automation is just one part of testing. But testers who understand programming and CS concepts have better analysis skills for testing. Testers with development skills can find the bugs earlier in development cycle and also find the cause for the bug. This also helps them in finding other places in code where there can be similar errors. I, personally feel that people with programming skills always makes better testers. Does this mean all the testers without programming knowledge be fired ?- of course not. Its always an option to have creative people as testers than bad programmers. An organization cannot have all the testers to have programming knowledge as well, with industry facing shortage of quality programmers. Microsoft seems to have found a way out of this by creating two different job profiles SDET and STE. SDET needs to have good programming skills as they are used for automation and debugging. But even this did'nt seem to have solved the problem completely. Can read more about SDET Vs STE here.