Interview question on manual testing fresher




















Structure-based test design techniques are also referred to as white box testing. In these 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-. What is code coverage? Code coverage is the measure of the amount of code covered by the test scripts.

It gives the idea of the part of the application covered by the test suite. What are Statement testing and statement coverage in white box testing? 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. What is decision testing or branch testing? Decision testing or branch testing is a white box testing approach in which test coverage is measured by the percentage of decision points e. What are the different levels of testing? Testing can be performed at different levels during the development process. Performing testing activities at multiple levels helps in the early identification of bugs.

The different levels of testing are —. What is unit testing? Unit testing is the first level of testing and it involves testing individual modules of the software. It is usually performed by developers. What is integration testing? 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. What are the different types of integration testing? The different type of integration testing is-. For details check Integration testing.

What is a stub? In those cases, Stubs or dummy modules are used that simulate the working of modules by providing a hard-coded or expected output based on the input values. What is a driver? In the case of bottom-up integration testing, drivers are used to simulating the working of top-level modules in order to test the related modules lower in the hierarchy.

What is system testing? 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. What is acceptance testing? Acceptance testing is 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. What is UAT Testing? Ans UAT testing is the last phase of the testing lifecycle.

Its main focus is to validate that software is working in accordance with business requirements. It also ensures that the application is user-friendly and can handle complex scenarios at its best before releasing the product to real-world users. What is End-To-End Testing? End-to-End testing is a type of testing where the entire application undergoes testing, to test each functionality of the software is working as expected and there is no loophole remaining in it.

It ensures that the application is user-friendly and meets the business requirements. What is alpha testing? Alpha testing is a type of acceptance testing that is performed testers or the internal employees of the organization at the developer site. What is beta testing?

It allows users to provide direct input about the software to the development company. What is Adhoc Testing? Adhoc testing is an unstructured way of testing that is performed without any formal documentation or proper planning. What is monkey testing? Monkey testing is a type of testing that is performed randomly without any predefined test cases or test inputs. How is monkey testing different from Adhoc testing? In the case of Adhoc testing although there are no predefined or documented test cases still testers have an understanding of the application.

What is exploratory testing? Exploratory testing is a type of testing in which new test cases are added and updated while exploring the system or executing test cases. Unlike scripted testing, test design and execution go parallelly in exploratory testing.

What is load testing? During load testing, we evaluate the response time, throughput, error rate, etc parameters of the application.

What is stress testing? Stress testing is done to find memory leaks and the robustness of the application. What is volume testing? Volume testing is a type of performance testing in which the performance of the application is evaluated with a large amount of data. It checks the scalability of the application and helps in the identification of a bottleneck with a high volume of data. What is endurance testing or Soak testing?

Endurance testing is a type of performance testing which aims at finding issues like memory leaks when an application is subjected to load test for a long period of time. What is spike testing? What is UI testing? UI or user interface testing is a type of testing that aims at finding Graphical User Interface defects in the application and checks that the GUI conforms to the specifications. What is usability testing? Usability testing is the type of testing that aims at determining the ease of using the application.

It aims at uncovering the usability defects in the application. What is Accessibility testing? Accessibility testing is the type of testing which aims at determining the ease of use or operation of the application specifically for people with disabilities. What is compatibility testing? Compatibility testing is validating software to see how compatible the software is with a particular environment — operating system, platform, or hardware.

What is configuration testing? Configuration testing is the type of testing used to evaluate the configurational requirements of the software along with the effect of changing the required configuration. What is localization testing? What is globalization testing? Globalization testing is a type of testing in which application is evaluated for its functioning across the world in different cultures, languages, locales, and countries. What is negative testing?

What is security testing? All the components of the software are generally tested as a whole to make sure that the overall product fulfills the requirements that are specified. So, no. Monkey Testing : Monkey testing, also known as Random Testing, is a type of software testing technique in which data is generated randomly using a tool or some automated mechanism.

The system is tested using this randomly generated input, and results are analyzed accordingly. There are no such rules in this type of testing. Performance Testing : It is a type of non-functional software testing technique that is used to determine the system parameters like speed, scalability, and stability under different workload conditions.

Its main purpose is to eliminate performance bottlenecks, not to find bugs. Some of the key parameters of performance testing include:. Test driver and test stub, both are types of test harness that are used to provide a simulation environment for testing a module or component.

They both are dummy modules specially created for test purposes. Test stubs : Test stubs are used in a top-down testing approach and allow testing of the upper levels of the code when the lower levels of the code are not developed yet.

Test drivers : Test drivers are used in a bottom-up testing approach and allow testing of the lower levels of the code when the upper levels of the code are not developed yet. Endurance testing, also known as Soak testing, is a type of performance testing usually performed to check the performance of the system that is under constant use.

Its main purpose is to determine whether a system can sustain a continuous high load or not. Memory utilization is also monitored to identify potential leaks during this testing. Some of the endurance testing tools include:. Localization testing is a type of testing that is performed to ensure whether the software product offers full functionality and usability in a particular locale or not. It is simply used to verify the accuracy and suitability of the content.

It is not only about linguistics, but also about traditions, common herd behavior, and other similar factors. It generally deals with the functionality and GUI of the application. Path testing is a type of testing specially used to design test cases. In this type of testing, the control flow graph of a program is specially designed to identify a set of linearly independent paths of execution.

Its main objective is to ensure that each path is covered and executed well. It also reduces or minimizes the occurrence of redundant tests. Baseline Testing : It is a type of non-functional testing in which a set of tests are run to capture performance information. Using this gathered information, we can make required changes in the application and ultimately improve the performance and capabilities of the application. In general, it refers to a benchmark that usually forms the base of any new creation.

During this testing, many errors are discovered and resolved. Benchmark Testing : It is a type of testing that involves both the developers and DBAs Database Administrators to determine current performance information. Using this information, one can improve the performance of the same by matching it with the benchmarks industry standards. Its main objective is to compare the present and future software releases with their specific benchmark. Fuzz testing is a software testing technique in which a large amount of random data, called fuzz, is provided as input to the application simply to detect or discover security loopholes and coding errors in the software application.

It is more useful for bigger projects but it only detects a serious fault or defect. It is simply used to check the vulnerability of software and gives more effective results when used with beta testing, black box testing, etc.

Data flow testing is a type of structural testing that is used to analyze the flow of data in the program. In this, a programmer can perform various tests on data values and variables. It helps us in the following ways:. Agile testing is basically a software testing process that uses agile methodologies i.

It evaluates the software from the customer's point of view. It does not require any development team to complete coding for starting QA, instead of testing and coding can go hand in hand. Features are tested as they are developed. Some of its advantages include:. Selenium is a web browser automation tool that automates the test suits you need to run on a web browser. In software, many errors occur near the edges of the range of the data values.

Typically, developers miss these boundary cases because they follow a happy path when developing and testing. Boundary value analysis helps to discover the errors caused by extreme values. The tester chooses the test data at and immediately above and below the boundaries of the input domain of the data. For example, if an input field expects a string of 20 characters long, the tester tests it with strings of lengths 19, 20, and The dictionary definition of regression is the act of going back to a previous place or state.

In software, regression implies that a feature that used to work suddenly stopped working after a developer added a new code or functionality to the software. Regression problems are pervasive in the software industry, as new features are getting added all the time.

Developers don't build these features in isolation, separate from the existing code. Instead, the new code interacts with the legacy code and modifies it in various ways, introducing side effects, whether intended or not.

As a result, there is always a chance that introducing new changes may negatively impact a working feature. It's important to keep in mind that even a small change has the potential to cause regression.

Regression testing helps ensure that the new code or modifications to the existing code don't break the present behavior. It allows the tester to verify that the new code plays well with the legacy code. Unit testing is the process of testing a single unit of code in an isolated manner. The unit of code can be a method, a class, or a module.

Unit testing aims to focus on the smallest building blocks of code to get confidence to combine them later to produce fully functioning software. A unit test invokes the code and verifies the result with the expected result. If the expected and actual outcomes match, then the unit test passes. Otherwise, it fails. It is a means of communication between two software components. An API abstracts the internal workings and complexity of a software program and allows the user of that API to solely focus on the inputs and outputs required to use it.

When building software, developers rarely write software from scratch and make use of other third-party libraries. An API allows two software components to talk to each other by providing an interface that they can understand. Another use of an API is to provide data required by an application. Let's say you are building a weather application that displays the temperature. Instead of building the technology to collect the temperature yourself, you'd access the API provided by the meteorological institute.

Test coverage is a metric that indicates how much of the source code is covered by the tests, allowing the tester to verify the quality of their testing. It helps the tester figure out whether they are testing everything they're supposed to test. Test coverage can mean different things to different people, depending on the particulars of their testing approaches. The only difference is that the browser automation can test this very quickly and often, whereas the same test would take a human tester a long time.

Some essential tools for browser testing include Selenium, protractor. It is a low-risk way of testing variations of a new or existing functionality.

You can choose a part of your users to use feature A. The other group uses feature B. Then user feedback and response are evaluated using statistical testing to decide the final version of the feature. This allows the team to quickly gather feedback and test their initial hypothesis. Regression Testing : Regression testing, also known as generic testing, revolves around re-running functional and non-functional tests. It is especially done to ensure whether previously developed and tested software still performs the same after a change or not.

It can be performed either manually or using automated tests. Re-testing: Re-testing, also known as planned testing, is used for specific bugs after it has been fixed by the developers. Re-testing is performed to check the scenario under the same environmental conditions after detection has been fixed.

Regression vs Retesting:. It must investigate both functional requirements and non-functional requirements. Generally, it is performed by both testers and developers. Unit Testing: In unit testing, each component of the software is individually tested. Generally, unit testing is performed by developers. Those systems that have a lot of interdependencies between their modules cannot be tested by unit testing.

System vs Unit Testing:. Test Harness : Test harness, also known as the automated test framework, is a collection of software and test data required to unit test software modules during development. It is mostly used by the developers and helps in the automation and execution of unit test cases. It generally includes two main parts as given below:.

Test Closure : Test closure is basically a document that provides the summary of all the tests that are performed during SDLC. It gives full detailed analysis reports of the bugs that are discovered and removed. It is usually performed prior to the end of the testing process. Test scenario also called a scenario test, is defined as high-level detailed documentation of test cases or use cases.

In this, the tester tests the software application from an end-user perspective. It usually can serve as the basis for lower-level test cases or use case creation. Test scenario is also known as test condition or test possibility. It gives you an idea of what we need to test. Defect life cycle, also known as a bug life cycle, is a life cycle of various stages through which a defect goes during its whole lifetime.

This life cycle starts as soon as the defect is discovered or reported by the tester and ends when the tester ensures that the defect is resolved and it won't occur again. The defect life cycle includes the steps as shown below:.

This type of testing is generally used in a low-risk system. There are four different experienced-based testing techniques as shown below:. Smoke Testing: It is a type of testing performed to ensure that the acute functionalities of the program are working well. It acts as a confirmation of whether the quality assurance team can further proceed with testing or not. Sanity Testing: It is an unscripted form of testing performed to ensure that the code changes that are made are working well.

It is performed by the test team for some basic tests. This testing focuses on one or a few areas of functionality and is usually narrow and deep. Smoke vs Sanity Testing:. Pesticide paradox is basically a phenomenon where the more one tests the software, the more it becomes immune to its tests. To overcome this, testers should always find new strategies, approaches, and test cases, so that they can identify bugs and resolve them.

Configuration testing is a software testing technique that is used to evaluate the configurational requirements of the software. It discovers the optimal configuration of the system under which the application performs at its best, therefore configuration testing is considered important. It also helps in identifying and resolving any compatibility issues.

Software testing is an important activity that ensures quality, giving the confidence to release the software to customers. This article explained the testing process and its importance in software development.

It also covers important concepts on manual testing and will guide you to master the field of manual testing. However, testing is only a single component of a good software development strategy.

A development team should use high coding standards, best practices, and patterns to reduce the bug count. As a long-term strategy, the best way to improve the testing process is to test frequently, measure the results, gather feedback and use it to get better.

The software testing that checks if the new code has broken the existing functionality is known as:. Before you go! Take this "Software Testing Interview Questions" interview guide with you. Download PDF. Enter the name of your college. Computer Science. Information Technology. Mathematics and Computing.

Before After Enter company name. Forgot Password. Software Testing Interview Questions 1. Explain the role of testing in software development? How much testing is sufficient?

Or, is it possible to do exhaustive testing of the software? What are the different types of testing? What is the software testing life cycle?

What qualities a software tester should have? What is functional testing? What is a bug report? What is non-functional testing? What are some important testing metrics? What is Test-Driven-Development? What is manual testing? What is cross-browser testing? What is automated testing? What is a software bug? Write some common mistakes that lead to major issues. What is a user story? What is a test environment? What are the different types of severity you can assign to a bug?

Manual Testing Interview Questions for Freshers What is black-box testing? What is white-box testing? What are the differences between manual and automated testing? What is alpha testing? What is beta testing? What is exploratory testing? What is end-to-end testing? What is static software testing? What is dynamic software testing? Acceptance Testing 1. Unit Testing A Unit is the smallest testable portion of a system or application.

Unit testing is performed by developers. Integration Testing In this testing phase, different software modules are combined and tested as a group to make sure that the integrated system is ready for system testing.

System Testing System testing is performed on a complete, integrated system. System testing is most often the final test to verify that the system meets the specification.

Acceptance Testing The last and fourth level of software testing is Acceptance testing, which is used to evaluate whether a specification or the requirements are met as per its delivery. Acceptance testing is basically done by the user or customer. What are the different testing types? There are four types of tests that can be conducted at each of the test levels: 1. Functional testing: 2. Non-functional testing: 3. Structural or Coverage testing: 4.

Change related testing: 8. What is a Test design technique? What are different Test design techniques? We have two categories of Test Design Techniques: 1. What is Software Testing Life Cycle? Software Testing Life Cycle has different phases: 1. Test Cycle closure What are the important Test Documents? Test Summary Report Training Requirement Deliverables: 1.

Test Plan, Test Strategy document. Test Estimation document. What is the Test Plan document? A sample test plan template: 1. Glossary: What is a Test Case?

How do we write Test cases? What is RTM? What is Test Data? What is Negative Testing? What is a Defect Report? Requirements should be traceable from review activities.

Test Matrix : Test matrix is used to capture actual quality, effort, the plan, resources and time required to capture all phases of software testing. Traceability Matrix : Mapping between test cases and customer requirements is known as Traceability Matrix.

Both stubs and drivers are part of incremental testing. In incremental testing, there are two approaches namely bottom-up and top-down approach.

Drivers are used in bottom-up testing and stub is used for a top-down approach. In order to test the main module, the stub is used, which is a dummy code or program.

The key words control the processing. It is also used for the visualization of data processing. The cycle is repeated unless there are no errors found. Fuzz testing is used to detect security loopholes and coding errors in software. In this technique, random data is added to the system in an attempt to crash the system. If vulnerability persists, a tool called fuzz tester is used to determine potential causes.

This technique is more useful for bigger projects but only detects a major fault. None of the characters should get truncated. Junk characters should not be added.

The code coverage testing tool runs parallel while performing testing on the actual product. The code coverage tool monitors the executed statements of the source code. When the final testing is done, we get a complete report of the pending statements and also get the coverage percentage. In simple terms when a defect reaches the end customer, it is called a failure while the defect is identified internally and resolved; then it is referred to as a defect.

Black box test cases are written first as to write black box test cases; it requires project plan and requirement document all these documents are easily available at the beginning of the project. While writing white box test cases requires more architectural understanding and is not available at the start of the project. Bottom-up testing is an approach to integration testing, where the lowest level components are tested first, then used to facilitate the testing of higher level components.

The process is repeated until the component at the top of the hierarchy is tested. Breath testing is a test suite that exercises the full functionality of a product but does not test features in detail.

Code Walk Through is the informal analysis of the program source code to find defects and verify coding techniques. End-to-end testing is done after functional testing. The purpose behind doing end-to-end testing is that. A test harness is configuring a set of tools and test data to test an application in various conditions, and it involves monitoring the output with expected output for correctness. Risk-based Testing is the term used for an approach to creating a Test Strategy that is based on prioritizing tests by risk.

The basis of the approach is a detailed risk analysis and prioritizing of risks by risk level. Tests to address each risk are then specified, starting with the highest risk first. Preventative tests are designed early; reactive tests are designed after the software has been produced. Decision table testing is used for testing systems for which the specification takes the form of rules or cause-effect combinations. In a decision table, the inputs are listed in a column, with the outputs in the same column but below the inputs.

The remainder of the table explores combinations of inputs to define the outputs produced. The techniques of equivalence partitioning and boundary value analysis are often applied to specific situations or inputs. However, if different combinations of inputs result in different actions being taken, this can be more difficult to show using equivalence partitioning and boundary value analysis, which tend to be more focused on the user interface.

The other two specification-based techniques, decision tables, and state transition testing are more focused on business logic or business rules.



0コメント

  • 1000 / 1000