Software testing concepts interview questions




















When you answer, explain when an application has passed your tests and when testing is complete. In many cases, testing is done when a certain percentage of test cases pass or when the bug rate goes below a particular level. Testing can also finish when the team reaches the deadline or spends the full budget. These are some other mid-level manual testing interview questions you may hear:. When should a quality assurance analyst use regression testing?

Can you explain functional and non-functional test cases? Can you discuss the concept of pesticide paradox? Is it possible to overcome pesticide paradox with manual testing?

Can you explain how a top-down approach works in software testing? When would you recommend taking a top-down approach? How does a bottom-up approach work in software testing? When would you recommend taking a bottom-up approach? Can you explain what smoke testing means for software applications?

What does static testing mean for software applications? When do you recommend a static test over a dynamic test, and vice versa? Can you explain the concept of configuration management? Can you explain what severity means in software testing?

How do you test applications with audio or video? How do you approach testing mobile applications? What do you do if the software has too many bugs to test properly? If you're applying for a senior-level role in quality assurance or software development, you should be ready to talk about your management style and how you resolve complex problems.

Here are a few questions with example answers:. When potential employers ask this question, they generally want to check your awareness of industry standards. In your response, list the most important best practices. Third, write test cases so that your team can follow them and adjust if necessary. Finally, make sure you know the user's requirements so you can test with their experience in mind. Renu Testing Basics Interview Questions. Swathi Jul 28th, Expected result is the written result in test cases which is expected at the time of execution.

Sep 02 AM. How a tester will convince to a developer that the bug assigned to the developer is a bug. Oyendrilla Apr 27th, While reporting a bug, provide below details: 1. Dec 24 PM. What is path coverage? Mukta Dec 25th, Path coverage is even more powerful than Branch Coverage. Sep 26 AM. What are the different types of reviews and explain? Jul 29 AM. What is the difference between a change request CR and modification?

Answer Question. Mar 25 PM. What is Globalization Testing? Kevin Mar 27th, A product is said to be Globalized when that particular product can be run independent of its geographical and cultural environment. Hi all, Is there any standard method to write test cases? Feb 22 AM. Aug 22 PM. Sreejith May 26th, Quality is meeting the customers requirement in the given timelines with proper budget and with no bugs and errors.

Y Aug 19th, Quality? Feb 18 PM. Difference between equivalence and boundary value analysis? Nov 29 AM. Difference between UAT and system testing? Kash Jan 25th, System Testing: Here we check the complete application, end to end flow of an application. Feb 24 PM. Feb 20 PM. Give an example of a bug having high severity and low priority?

Imran Sep 15th, Agree with first two line, Severity is seriousness of issue and Priority is importance of issue. Prince Aug 4th, Suppose you are havig a spelling mistake on the homepage itself than this defect is of high severity but low priority because due to this business is not not affected much.

Sep 25 AM. How would you prioritise your test and why? Rohit Sep 2nd, mithr17 Interviewer will sleep after listening the answer that you give it is dam big you should give extract of all points this answer is also incorrect and except that all answers are right.

Showing Questions 1 - 20 of Questions. Open Questions Answered. Recommended Articles. Article Contributed By :. Easy Normal Medium Hard Expert. Writing code in comment? Please use ide. Load Comments. What's New. Most popular in GBlog. Top 10 Programming Languages to Learn in Web 1. Most visited in Software Engineering. Name some attributes of the test case. What is a Test Plan? What does it include?

What is a Test Report? What do you mean by Test Deliverables? Explain STLC. Write difference between bug, defect, and error. Explain use-case testing. What do you mean by Test Matrix and Traceability Matrix?

What is Positive and Negative Testing? What do you mean by Critical bug? System testing can be done at any stage? Explain Monkey Testing and Performance Testing. Write the difference between Test Stub and Test Driver. Explain Endurance Testing or Soak Testing? What is the importance of Localization Testing? Explain Path testing. What do you mean by Baseline Testing and Benchmark testing? Explain Fuzz Testing and its importance. What do you mean by Data flow testing?

What is the importance of agile testing? What are different categories of debugging? What is Selenium? What are its benefits? What is boundary value analysis? What is regression testing? What is unit testing? What is an API? What are the different HTTP status codes that a server can return? What is test coverage? What is meant by browser automation? What is the difference between Retesting and Regression Testing? What is System testing and Unit Testing?

Write the difference between them. What are the types of Integration Testing? Name some of the most popular integration testing tools. What is Test Harness and Test Closure? Explain Test Scenario. What is the defect life cycle? Explain Experienced-based testing techniques. Write the difference between smoke testing and sanity testing. What do you mean by pesticide paradox? Explain Configuration Testing. Name two parameters that can be useful to check the quality of test execution.

Conclusion Crack your next tech interview with confidence! Take Free Mock Interview. Waterfall Software Development Model An agile software development model works in small iterations. Type Description Unit Testing A programmatic test that tests the internal working of a unit of code, such as a method or a function. Integration Testing Ensures that multiple components of systems work as expected when they are combined to produce a result.

System Testing Complete end-to-end testing is done on the complete software to make sure the whole system works as expected. Its name originates from the hardware testing where you just plug the device and see if smoke comes out. User-Acceptance Testing Ensures the software meets the requirements of the clients or users.

This is typically the last step before the software is live, i. In stress testing, the tester subjects the software under heavy loads, such as a high number of requests or stringent memory conditions to verify if it works well. Usability Testing Measures how usable the software is. This is typically performed with a sample set of end-users, who use the software and provide feedback on how easy or complicated it is to use the software. Security Testing Now more important than ever.

Security testing is crucial for web-based applications or any applications that involve money. Click here to download. Manual Testing Automated Testing A human tester tests the software by manually running the test cases and observing and comparing the actual and expected outputs.

A tester or a programmer uses scripts and tools that execute the software and compares the actual and expected outputs. Manual testing is not reproducible and repeatable. Since it is programmed, automated testing is consistently reproducible and repeatable. It can be executed as many times as the tester wants.

For new features, a tester can quickly test the feature manually, without much configuration and setup. Manual testing is useful for finding bugs in the user interface or accessibility issues. Automated testing is more suitable for catching bugs that a human tester would miss, such as programming bugs, business logic errors.

Manual testing is prone to human errors and is slow. As there is no human participation involved other than writing tests , automated testing is more reliable. It is much faster than manual testing. Imagine a tourist in a foreign city. There are two ways in which they can explore the city. Follow a map, itinerary, or a list of places they should visit Explore randomly, following the streets as they lead them to new places With the first approach, the tourist follows a predetermined plan and executes it.

Both approaches have their pros and cons. There are several advantages of manual testing as given below: Preferable for products with a short life cycle Saves time, money, and resources Ensure the error-free product Useful in ad-hoc testing, exploratory testing, and usability testing No need to change the entire code to make minor changes Get accurate user interface feedback Ability to handle difficult use case situations in a better way GUI testing can be done accurately Highly reliable Make user-friendliness better Easy to learn for new testers There are several drawbacks of manual testing as given below: Not suitable for time-bounded projects and large organizations More prone to human errors and mistakes Less efficient as the choice of recording the testing process is not available Less Reliable Regression testing is time-consuming Does not cover all the aspects of testing Load testing and performance testing can be performed manually More expensive in the long run process The process of manual testing includes the following: Planning and control Analysis and Design Implementation and Execution Evaluating exit criteria and Reporting Test closure activities Some of the top manual testing tools include: Postman Message queue monitors DB tools, etc.

Benefits of automated testing over manual testing When test cases need to be run repeatedly for a long duration of time. When one needs to perform regression testing, performance testing, or load testing. When one wants to record the testing process When one has less time to complete the testing phase When tests are needed to be executed in a standard runtime environment When tests include repetitive steps When there are multiple and quick deployments for the product, manual becomes very time taking and redundant Benefits of manual testing over automated testing: When test cases need to be run for a short duration of time once or twice.

When one needs to perform ad-hoc testing, exploratory testing, or usability testing When one wants to ensure the user-friendliness of an application When flexibility is required When one wants to better handle the complex scenarios Verification Vs Validation: Verification Validation It checks whether the software meets the specification or not. It is a type of static testing. It is a type of dynamic testing. There is no requirement of executing the code. There is a requirement for executing the code.

This process is performed by the QA team to make sure that the software is built as per the specifications in the SRS document. This process is performed with the involvement of the testing team. Reviews, walkthroughs, inspections, and desk-checking are some methods that can be used in verification. Black box testing, white box testing, and non-functional testing are some methods that can be used during validation. It identifies the bugs or errors early in the development process.

It can identify the bugs or errors that the verification process cannot catch. It is performed before the validation process. It is performed after the verification process. Some of the commonly applied documentation artifacts that are associated with software testing include: Test Plan Test Scenario Test Case Traceability Matrix Some of them are given below: Test Case Id : Unique identifier of test case Test Summary : One-liner summary of test case Description : Detailed description of test case Prerequisite or pre-condition : Set of conditions to be followed before implementing the test steps Test steps : Detailed steps for performing test case Test Data : Test data value used in test case Expected Result: Estimated result to pass the test Actual Result: Actual result after executing the test steps.

Test cases documents Test Design specifications. It tests the application or system by giving invalid data. It accepts all the numeric and alphabetic values. It does not accept any special character. This type of testing is performed to identify a known set of test conditions. This type of testing is performed to identify an unknown set of test conditions.

It is usually performed on each and every application. It is usually performed where the chances of unexpected conditions or errors are more. It requires less time and can be performed by people having less knowledge.

It requires more time and can only be performed by professionals. It makes sure that the software application is normal. It does not encompass all the possible cases. It encompasses all the possible cases. It is less significant or vital than negative testing.

It is more significant and vital than positive testing. It helps us in the following ways: Eliminate or remove variables that are never used after being declared Pinpoint variables that are used but never declared Deallocate variable before it is used Pinpoint variables that are defined multiple times before it is used Some of its advantages include: Boosts the performance as it allows all the testers and developers to work together Features are tested as they are developed Ensure successful delivery of the high-grade product Saves time and money Flexible and highly adaptable to changes Improves product quality and allows developers to release software as early as possible Different categories of debugging include: Brute force debugging Backtracking Cause elimination Program slicing Fault tree analysis.

Some of the benefits of Selenium include: It is open-source software, eliminating licensing costs. It supports all the major languages, such as Java, C , Python, Ruby, etc. It supports all the major web browsers, e. You can integrate it with other testing frameworks and tools to build a comprehensive test suite for your software. A good unit test has the following characteristics: It should test a single piece of functionality. It is fully automated and repeatable.

It should run quickly and provide immediate feedback. You can use the mocking technique to simulate the external dependencies and isolate the code under test. A server can send the following five types of responses for an HTTP request. Information - : These status codes provide a temporary response.

The response consists of the status line and optional headers and terminates by an empty line. Success - : Indicate that the incoming HTTP request was successfully received, understood, and accepted. Redirect - : These status codes indicate further actions the client should take to satisfy the HTTP request. It can mean that the requested resource may have moved temporarily or permanently. It can also redirect the client to another URL.

Server error - : The 5XX status code indicates a problem on the server while processing the request. Product: It means looking at test coverage to answer the question: Which features or the areas of the software does your tests cover? Requirements: The software might work well, but it's not useful to the customer if it doesn't satisfy their needs. Requirements coverage indicates how many of the requirements are tested.

Source Code: This is usually a developer's domain and is a white-box testing technique. The developer can check how much of their source code is covered by the unit tests. Regression vs Retesting: Regression Retesting It is performed to make sure that the changes haven't affected the unchanged part.

It is performed to make sure that the test cases that were filed in the last execution are passed after the detects are fixed by developers. It is not carried out for specific detect fixes. It is usually carried out based on defect fixes. It is only the previous version functionality-centric. It is current or previous version functionality-centric.

It can be performed parallel with retesting. It is needed to perform before regression testing. It does not include the verification of bugs. It includes the verification of bugs. In this type of testing, test cases can be automated and the testing style is generic.

In this type of testing, test cases cannot be automated and the testing is done in a planned manner. It is only used for passed test cases. It is only used for failed test cases. System vs Unit Testing: System Testing Unit Testing The system testing method involves treating each module as a separate target for testing, and integrating the modules after each has been tested.

The purpose of unit testing is to test only one module at a time, rather than the integrated version of the application. Generally, when it comes to unit testing, a single module testing approach is taken. For System test cases, it includes both top-down approach testing and bottom-up approach testing with all modules in integrated mode. It focuses on system validation. It focuses on functional verification. It usually follows the requirements specification.

It usually follows the specification of modules. It is also known as black-box testing. It is also known as white-box testing. It is a low-level test as compared to unit testing. It is a high-level test as compared to system testing. It generally includes two main parts as given below: Test execution engine Test script repository Test Closure : Test closure is basically a document that provides the summary of all the tests that are performed during SDLC.

The defect life cycle includes the steps as shown below: There are four different experienced-based testing techniques as shown below:



0コメント

  • 1000 / 1000