Question-21. Write some common mistakes that lead to major issues.

Answer- Some common mistakes include:

  • Poor Scheduling
  • Underestimating
  • Ignoring small issues
  • Not following the exact process
  • Improper resource allocation

Question-22. What is a user story?

Answer- All software has a target user. A user story describes the user’s motivations and what they are trying to accomplish by using the software. Finally, it shows how the user uses the application. It ignores the design and implementation details.

A user story aims to focus on the value provided to the end-user instead of the exact inputs they might enter and the expected output.

In a user story, the tester creates user personas with real names and characteristics and tries to simulate a real-life interaction with the software. A user story often helps fish out hidden problems that are often not revealed by more formal testing processes.

Question-23. List some of the popular software testing tools/frameworks, providing a brief description of each.

  1. Selenium: a web browser automation tool that automates the test suites you need to run on a web browser.
  2. Protractor: An end-to-end test framework for Angular and AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
  3. Cypress: A modern front-end testing tool built for the modern web. Though it’s similar to Selenium and Protractor, it’s architecturally different from them.
  4. Jasmine: This is an open-source JavaScript testing framework that allows you to write behaviour-driven tests.
  5. JUnit and NUnit: These are unit testing frameworks for Java and C# programming languages, respectively.

Question-24. What is A/B testing?

Answer- A/B testing is the process of testing two or more different versions of your software with users to assess which performs better. 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.

Typically, A/B testing is used to test the user experience of different interfaces. This allows the team to quickly gather feedback and test their initial hypothesis.

Question-25. What is defects in software testing?

Answer- The term defect refers to a system error that prevents the intended action from being accomplished. Testing is most important when it comes to finding defects. Testing needs to begin early in the development process since defects can be found throughout. As shown in the following figure, defects are divided into three main categories:

  • Wrong: It implies incorrect implementation of requirements. There is a variance between the specifications and what was expected, resulting in this defect.
  • Missing: This indicates that a specification has not been implemented, or a requirement of the customer has not been properly noted.
  • Extra: In this case, the defect is caused by a requirement incorporated into the product that was not provided by the end-user.

Question-26. What is spice in software testing?

Answer- SPICE stands for Software Process Improvement and Capability Determination. In the field of software development processes, SPICE is a standard framework for assessing the efficiency and effectiveness of the development process. IEC (International Electrotechnical Commission) and ISO (International Organization for Standardization) jointly developed SPICE.

Question-27. What do you mean by latent defect and masked defect?

  • Latent Defect: Latent defects are defects that exist but have not yet been invoked because the conditions required to invoke them have not been met. As a systematic flaw, it encompasses the entire production process of the software, including all pre-production testing and extended testing. When users perform a particular task in an unusual or rare situation or without the presence of usual scenarios, latent defects are revealed.
  • Masked Defect: These are the defects that have not yet resulted in a failure since another defect hides that portion of the code from being executed. It can only be discovered when the defect hiding it is exposed by the user through a specific operation. There are defects that are hidden or marked by another defect and remain hidden until the other defect is detected.

Question-28. Can you explain sanity testing in software testing?

Answer- The term ‘sanity testing’ refers to a subset of regression testing. The sanity testing ensures that the changes made to the code do not adversely affect the system’s performance. After the software build is received, a sanity test is conducted to ensure that the changes made to the code are working correctly. As a checkpoint, this testing is used to determine whether the build can proceed with further testing. Sanity testing focuses on validating the functionality of the application rather than detailed testing.

Features:

  • It focuses on a smaller section of the application and is a subset of regression testing.
  • The process is undocumented.
  • Sanity testing is often unscripted.
  • In this approach, limited functionalities are deeply tested.
  • A tester is usually responsible for performing this task.

Question-29. What is the purpose of TestNG?

Answer- The TestNG framework for Java is an open-source advanced test automation framework that is designed to benefit both testers and developers. The purpose of TestNG is to provide an easy-to-use, readable, structured, maintainable, and user-friendly environment for automated tests. NG stands for ‘Next Generation’ in TestNG. The high-end annotations, such as data providers, make cross-browser testing easier since you can test across multiple devices and browsers. Furthermore, the framework has an inbuilt mechanism for handling exceptions that prevent the program from terminating unexpectedly.

Question-30. Is it possible to skip a method or a code block in TestNG?

Answer- Yes, you can skip a particular test method or code by setting the ‘enabled’ parameter to ‘false’ in test annotations.

@Test(enabled = false).