Important Testing Interview Questions
1) When do you choose automated testing over Manual testing?
Ans: Automation is chosen when
- A same set of tests need to be repeated again and again
- When a single Test needs to be repeated for a large number of data
- When stable modules needs to be regressed frequently.
2) What is automation testing? Can automating a test improve the effectiveness of test?
Ans: Test Automation is execution of testcases with help of softwares like Winrunner, QTP, Selenium to compare the actual Results with expected outcomes, by setting up preconditions or Checkpoints. Automation testing is often used in Regression testing than progression testing. Its quite reliable and provides better results when used on the applications or system which is quite stable. Otherwise it would be labouriuos and time consuming.Yes, Automating a test makes the test process:
1. Fast
2. Reliable
3. Repeatable
4. Programmable
5. Reusable
6. Comprehensive
3) What are the scripting techniques available for test automation?
Ans:
- Data-Driven testing
- Modularity-driven testing
- Keyword-driven testing
- Hybrid testing
- Model-based testing
4) What is QA ? What is Testing ? Are both same ?
Ans: Quality Assurance (QA) is the activity of providing evidence needed to establish quality in work, and that activities that require good quality are being performed effectively.
Software Testing is the process used to assess the quality of computer software. Software testing is an empirical technical investigation conducted to provide stakeholders with information about the quality of the Product or service under test, with respect to the context in which it is intended to operate.
An important point is that Software Testing should be distinguished from the separate discipline of Software Quality Assurance (SQA), which encompasses all business process areas, not just testing.
In short, QA and Testing are integral part of the system. Testing is one of the phases in QA. In Testing, one deals with the detecting errors in behavior and Structure of the coding. QA ensures desired output of product meeting all the required specifications of the project.
5) What can be the limitations of automating software testing?
Ans : Automation testing can’t replace manual testing. Where ever there is a change in UI, most the scripts need changes in their code and thus continuous maintenance.Testing tools are not as intelligent as human beings. They only have programmed intelligence which is very limited.
- Many automation developers think they should develop a automated testing script which can handle all possible situations by itself without manual intervention. But by doing so, we will end up in developing another software which is again very difficult to design, develop and maintain. It is not at all suggested to develop such scripts. Every script should assume some preconditions and should proceed assuming all required setup is available. Not all tools support all UI Objects or all kinds of testing. Few tools are specialized for UI testing and few for DB testing and few for Web testing and few for performance/Load testing.
6) What is Testware ? How Testware Produced ?
Ans:
- As we know that hardware development engineers produce hardware, Software development engineers produce software.Similar to this, Software Test Engineers produce Testware.
- Testware is produced by both verification and validation testing methods.
- Testware includes test cases, test plan, test Report etc.
- Testware also includes software written for testing.
7)Explain a.) Stress testing b.)Load testing
a.) Stress testing – is used to determine the stability of a System under Test. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results. Under normal conditions, certain types of bugs, such as memory leaks, difficult to detect over the short periods of time in which testing is performed. However, these bugs can still be potentially serious. In a sense, stress testing for a relatively short period of time can be seen as simulating normal operation for a longer period of time.
b.)Load testing – is a form of non functional testing that is used to determine the behavior of the SUT under normal and unexpected peak load conditions. In a client server model, numerous virtual users are simulated and made to interact with the server under different conditions to identify any bottlenecks.
c.)Volume testing – is a form of non functional testing where huge volume of data is supplied to SUT and its performance is observed.
8) What is Traceability Matrix
Traceability matrix is a table that relates the customer requirements and it is used inorder to ensure that all the customer requirements have been satisfied by the test cases.
9) What is “bug leakage?” and what is “bug release?”
A bug leakage results when a bug is detected which should have been detected in earlier builds/versions of the Application.A defect which exists during testing yet unfound by the tester which is eventually found by the tester/end-user is also called bug leakage.A bug release is when a particular version of s/w is released with a set of known bug(s)/defect(s). These bugs are usually low severity and/or low priority bugs. It is done when the company can afford the existence of bug in the released s/w rather than the time/cost for fixing it in that particular version. These bugs are usually mentioned in the Release Notes.
10) alpha and beta testing
? – Testing:
It is a type of testing in which one (I.e., out Test Engineer) will perform user acceptance testing in their company in the presence of the customer. If at all any defects are found there will be a chance of rectifying them immediately.
? – Testing:
It is a type of testing in which either third party testers or end users will perform user acceptance testing in the client place before actual implementation.
11) What is the difference in writing the test cases for Integration testing and system testing?
The purpose of Integration and purpose of System Testing are different. Integration test cases focus more on the interfaces between modules (interface integrity) – the data transfer and their interaction with each other. System test cases focus on testing the product as a whole; i.e. whether the functional, non-functional requirements of the System are met or not. Since System Testing is the final phase before delivery of the product, System test cases should pinpoint configuration related errors along with testing for performance, security, reliability etc.
12) Why adhoc testing is also called random testing ?
Testing an application in order to check whether the application is ready for the futher testing or not.This testing will be done under uncontrolled conditions. Adhoc testing is also called as Sanity testing or Built verification testing.
13) What are the roles of glass-box and black-box testing tools?
Glass Box (or white box) testing is the process of giving i/p to the system and checking how the system processes i/p to generate o/p. black Box testing is the process of giving i/p to the system and checking if the system is giving correct o/p without bothering how the o/p is generated.
As we can see from the definitions, the role of black box testing is to ensure that the o/p generated is correct. And role of white box testing is to ensure that methods used to generate the o/p are correct
14) What is Compatibility testing?
A part of software non-functional tests, is testing conducted on the application to evaluate the application’s compatibility with the computing environment. Computing environment may contain some or all of the below mentioned elements:
Computing capacity of Hardware Platform (IBM 360, HP 9000, etc.)..
Bandwidth handling capacity of networking hardware
Compatibility of peripherals (Printer, DVD drive, etc.)
Operating systems (MVS, UNIX, Windows, etc.)
Database (oracle, Sybase, DB2, etc.)
Other System Software (Web server, networking/ messaging tool, etc.)
Browser compatibility (Firefox, Netscape, Internet Explorer, Safari, etc.)
15) What is the difference between build and release?
A “build” is given by dev team to the test team. A “release” is formal release of the product to its customers.A build when tested and certified by the test team is given to the customers as “release”. A “build” can be rejected by test team if any of the tests fail or it does not meet certain requirements. One release can have several builds associated with it.
16) Explain a.)Recovery Testing b.)Integration Testing c.)Incremental Testing
a.)Recovery Testing
Recovery testing is the process of verifying how quickly an application is able to recover from crashes and disasters with minimal loss.
b.)Integration Testing
Integration testing is the process of testing the integration of several unit tested modules. It occurs after Unit testing and before System testing.
c.)Incremental Testing
Incremental testing is testing interfaces between unit tested components and modules in a step by step fashion. It could be a top down incremental testing or bottom up incremental testing.
17) What is a Test case?
A test case is defined as a set of variables or conditions used to determine the proper functionality of a software application or system. Test cases typically describe inputs, Actions/events, and the expected response(s). The main purpose of writing test cases is to verify the testing coverage of the software. Because of this, several test cases may be necessary to prove that a piece of software is functioning properly.
18)Explain Formal and Informal Test Cases?
The best way to completely verify that all software application requirements are met; there must at the least be one positive and one negative test case for each requirement. This rule carries through to each sub-requirement if they exist. A traceability matrix is often used to track the link between the requirement and the test. Written test cases must also include a description of the feature being tested, and the setup required in order for the test to be performed. A formal test-case is distinguished by an input and an expected output, which should test a pre-condition and a post-condition, respectively. If formal requirements do not exist, test cases should be written based on the accepted operation of a program that is similar in class.
19)What are Key deliverable in user acceptance testing
When you look at traditional software Life Cycle, you find that bug and error free completion of application is a major step. Some of the major deliverables of user acceptance testing phase are described here:
1) Test plan: Here, step where test strategy is being developed.
2) User Applications Test cases: These test cases are responsible for effectively testing the application at end user.
3) Test Log: This is a place where all test results are executed and actual results are described.
4) User signing off: Products are delivered to full satisfaction is distinguished by this testing field.In user acceptance testing a group of end users are testing the application with the real world scenario.
20)Explain Memoryleaks ?
A memory leak is a condition when a program that has occupied computer’s memory is unable to release it back to the operating system.Memory leaks are detected when the OS throws “Out of memory” exception, or when it becomes sluggish and slow. It can also be monitored by checking the memory status in the task bar.
