1. What is the purpose of the testing?
Software testing is the process of executing a program or system with the intent of finding errors. It helps identify the correctness, completeness, security, and quality of the developed computer software.
2. What is quality assurance?
Software QA involves the entire software development PROCESS – monitoring and improving the process, ensuring that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented to’ ward prevention.’
3. What is the difference between QA and testing?
Testing involves operating a system or application under controlled conditions and evaluating the results. It is oriented to ‘detection.’
Software QA involves the entire software development PROCESS – monitoring and improving the process, ensuring that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented to’ prevention.’
4. Describe the Software Development Life Cycle
It includes anitial concept requirements analysis, functional design, internal design, documentation planning, test planning, coding, document preparation, integration, testing, maintenance, updates, retesting, phase-out, and other aspects.
5. What are SDLC and STLC, and what are the different phases of both?
SDLC
> Requirement phase
> Design phase (HLD, DLD (Program spec))
> Coding
> Testing
> Release
> Maintenance
STLC
> System Study
> Test planning
> Writing Test cases or scripts
> Review the test case
> Executing test case
> Bug tracking
> Report the defect
6. What is a Testbed?
Test Bed is an execution environment configured for software testing. It consists of specific hardware, network topology, Operating System, the product’s configuration to be under test, system software, and other applications. The Test Plan for a project should be developed from the testbeds to be used.
7. What is Test data?
Test Data is run through a computer program to test the software. Test data can be used to test compliance with effective software controls.
8. Why does software have bugs?
Miscommunication or no communication – about the details of what an application should or shouldn’t do
Programming errors – in some cases, the programmers can make mistakes.
Changing requirements – there are chances of the end-user not understanding the effects of changes or may understand and request them anyway to redesign, reschedule engineers, or results of other projects. Work already completed may have to be redone or thrown out.
Time force: Preparing software projects is difficult at best, often requiring a lot of guesswork. Mistakes will be made when deadlines are given, and the crisis comes.
9. What is the Difference between Bug, Error, and Defect?
Error: It is the Deviation between the actual and the expected value.
Bug: It is found in the development environment before the product is shipped to the customer.
Defect: It is found in the product after being shipped to the respective customer.
10. Describe the difference between validation and verification
Verification is done by frequent evaluation and meetings to appraise the documents, policy, code, requirements, and specifications. This is done with the checklists, walkthroughs, and inspection meetings.
Validation is done during actual testing and occurs after all the verification.
11. What is the difference between structural and functional testing?
Structural testing is a “white box” testing, and it is based on the algorithm or code.
Functional testing is a “black box” (behavioral) testing where the tester verifies the available specifications.
12. Describe bottom-up and top-down approaches
Bottom-up approach: In this approach, testing is conducted from the submodule to the main module; if the main module is not developed, a temporary program called DRIVERS simulates the main module.
Top-down approach: In this approach, testing is conducted from the main module to the submodule. If the submodule is not developed, a temporary program called STUB is used to simulate the submodule.
13. What is Retest? What is Regression Testing?
Retest – Retesting means we are testing only a certain part of an application again and not considering how it will affect the other part.
Regression Testing – Testing the application after a change in a module or part of the application to test the code change will affect the rest of the application.
14. Explain Load, Performance, and Stress Testing with an Example.
Load Testing and Performance Testing are commonly said to be positive testing, whereas Stress Testing is negative testing.
For example, an application can handle 25 simultaneous user logins. We will test the application for 25 users in load testing and check how it works in this stage. In performance testing, we will concentrate on the time taken to operate. In stress testing, we will test with more users than 25, and the test will continue to any number, and we will check where the application is cracking.
15. What is UAT testing? When is it to be done?
UAT testing – UAT stands for ‘User Acceptance Testing. This testing is carried out from the user’s perspective and is usually done before the release.