Blog Detail

  • 7_225.png

    Software Testing Questions for Beginner

    1> How does quality control differ from quality assurance?

    Quality control is a product-oriented approach to running a program to determine if it has any defects, as well as making sure that the software meets all of the requirements put forth by the stakeholders

    Quality assurance is a process-oriented approach that focuses on making sure that the methods, techniques, and processes used to create quality deliverables are applied correctly.

    2> What is Software Testing?

    Software Testing is a process used to identify the correctness, completeness, and quality of developed software. It includes a series of activities conducted with the intent of finding errors in software so that it could be corrected before the product is released to the market.

    3> Why is Software Testing Required?

    Software testing is a mandatory process that guarantees that the software product is safe and good enough to be released to the market. Here are some compelling reasons to prove testing is needed:

    It points out the defects and errors that were made during the development phases.

    Reduces the coding cycles by identifying issues at the initial stage of the development.

    Ensures that software application requires lower maintenance cost and results in more accurate, consistent and reliable results.

    Testing ensures that the customer finds the organization reliable and their satisfaction in the application is maintained.

    Makes sure that software is bug-free and the quality of the product meets the market standard.

    Ensures that the application doesn’t result in any failures.

    4> What are the two main categories of software testing?

    Software testing is a huge domain but it can be broadly categorized into two areas such as :

    Manual Testing – This is the oldest type of software testing where the testers manually execute test cases without using any test automation tools. It means the software application is tested manually by QA testers.

    Automation Testing – This is the process of using the assistance of tools, scripts, and software to perform test cases by repeating pre-defined actions. Test Automation focuses on replacing manual human activity with systems or devices that enhance efficiency.

    5> What different types of manual testing are there?

    Different types of manual testing are;

    Black Box Testing

    White Box Testing

    Unit Testing

    System Testing

    Integration Testing

    Acceptance Testing

    6> Explain the difference between alpha testing and beta testing.

    Alpha Testing – It is a type of software testing performed to identify bugs before releasing the product to real users or to the public. Alpha Testing is a type of user acceptance testing.

    Beta Testing – It is performed by real users of the software application in a real environment. Beta Testing is also a type of user acceptance testing.

    7> What are the different levels of manual testing?

    Four levels of manual testing are:

    Unit testing – It is a way of testing the smallest piece of code referred to as a unit that can be logically isolated in a system. It is mainly focused on the functional correctness of the standalone module.

    Integration Testing – It is a level of software testing where individual units are combined and tested to verify if they are working as they intend to when integrated. The main aim here is to test the interface between the modules.

    System Testing – In system testing all the components of the software are tested as a whole in order to ensure that the overall product meets the requirements specified. There are dozens of types of system testing, including usability testing, regression testing, and functional testing.

    User Acceptance Testing – The final level, acceptance testing, or UAT (user acceptance testing), determines whether or not the software is ready to be released.

    8> What is a testbed in manual testing?

    The testbed is an environment configured for testing. It is an environment used for testing an application, including the hardware as well as any software needed to run the program to be tested. It consists of hardware, software, network configuration, an application under test, other related software.

    9> Explain the procedure for manual testing?

    The manual testing process comprises the following steps:

    Planning and Control

    Analysis and Design

    Implementation and Execution

    Evaluating exit criteria and Reporting

    Test Closure activities

    10> What is the test case?

    A test case is a document that has a set of conditions or actions that are performed on the software application in order to verify the expected functionality of the feature.

    Test cases describe a specific idea that is to be tested, without detailing the exact steps to be taken or data to be used. For example, in a test case, you document something like ‘Test if coupons can be applied on actual price'.

    11> What is API testing?

    API testing is a type of software testing where application programming interfaces (APIs) are tested to determine if they meet expectations for functionality, reliability, performance, and security. In simple terms, API testing is intended to reveal bugs, inconsistencies, or deviations from the expected behavior of an API.

    Commonly, applications have three separate layers:

    Presentation Layer or user interface

    Business Layer or application user interface for business logic processing

    Database Layer for modeling and manipulating data

    API testing is performed at the most critical layer of software architecture, the Business Layer.

    12> What’s the difference between verification and validation in testing?

    Verification - It is a static analysis technique. Here, testing is done without executing the code. Examples include – Reviews, Inspections, and walkthroughs.

    Validation - It is a dynamic analysis technique where testing is done by executing the code. Examples include functional and non-functional testing techniques.

    13> What are the advantages of manual testing?

    Merits of manual testing are:

    It is a cheaper way of testing when compared to automated testing

    Analysis of product from the point of view of the end-user is possible only with manual testing

    GUI testing can be done more accurately with the help of manual testing as visual accessibility and preferences are difficult to automate

    East to learn for new people who have just entered into testing

    It is highly suitable for short-term projects when test scripts are not going to be repeated and reused thousands of times

    Best suited when the project is at the early stages of its development

    Highly reliable, since automated tests can contain errors and missed bugs

    14> What are the drawbacks or disadvantages of manual testing?

    De-merits of manual testing are:

    Highly susceptible to human error and are risky

    Test types like load testing and performance testing are not possible manually

    Regression tests are really time-consuming if they are done manually

    Scope of manual testing is very limited when compared to automation testing

    Not suitable in very large organizations and time-bounded projects

    The cost adds up, so, it’s more expensive to test manually in the long run

    15> What’s the role of documentation in Manual Testing?

    Documentation - Manual Testing Interview Questions - EdurekaDocumentation plays a critical role in achieving effective software testing. Details like requirement specifications, designs, business rules, inspection reports, configurations, code changes, test plans, test cases, bug reports, user manuals, etc. should all be documented.

    Documenting the test cases will facilitate you to estimate the testing effort you will need along with test coverage and tracking and tracing requirements. Some commonly applied documentation artifacts associated with software testing are:

    Test Plan

    Test Scenario

    Test Case

    Traceability Matrix