1. What is Software testing ?
Software testing is a process of evaluating or exercising a software by manual or automation to identify the difference between expected results and actual result in order to assure quality of the software.
2. Models of software testing.
Waterfall Model
Integration Model
Prototype Model
Spiral Model
RAD Model
Scrum Model
Agile Model
3. CMMI Levels.
CMMI means Capability Maturity Model Integration.It is an process improvement approach.
The model identifies five levels of process maturity for an organization:
1.Initial (chaotic, ad hoc, heroic): The starting point for use of a new process.
2.Repeatable (project management, process discipline):The initial progress is repeated. The process is used repeatedly.
3.Defined (institutionalized): The process is defined/confirmed as a standard business process. The process through which success is achieved is defined.
4.Managed (quantified): Process management and measurement take place.
5.Optimizing (process improvement): Process management includes deliberate process optimization/improvement.
4. Difference between Load and Stress testing.
Load Testing
Load testing is testing of an application to its maximum capacity. The primary goal of load testing is to determine the maximum amount of work a system can handle without significant performance degradation.Load testing is testing of an application for a given load requirement.
Stress testing.
Stress testing is testing of an application beyond its maximum capacity. Stress testing is testing to its breaking point.
5. What is Performance testing.
Performance testing is used to determine whether or not the software meets speed, scalability and stability requirements under expected workload.
6.What is Volume testing- testing which confirms that any values that may become large over time (such as accumulated counts, logs, and data files), can be accommodated by the program and will not cause the program to stop working or degrade its operation in any manner. It is usually conducted by the performance engineer.
7. What are the elements of a test case ?
Test case ID :- in order to identify the test case.
Objective :- it tells what is the test i.e. what is the intention of the test.
Precondition :- it tells us what should be the precondition before we run the particular test for e.g. we must have a login page available in order to test the login button
Test steps :- Steps taken while executing the particular test.
Test input :- input for the test to run
Expected result :- The result of the test as per the requirement
Actual Result :- the result of a test after running the test
Status :- if the actual result matches the expected result test is pass otherwise it is fail
Defect snapshot :- it should be taken in order to keep the proof of the defect
Severity :- It is the impact of the defect on the application
- Qualities of Software tester.
- Good Judgment skills are needed to assess high-risk areas of an application.
- Communication skills and the ability to understand various sides of an issue.
- Think outside the box/Creative thinking.
- Should think from user point of view.
- Should be committed to quality.
- Should be technically sound.
10.What will a tester do if the defect found by tester is not accepted by developer and just ignore the defect by saying that its not a defect.
Check the project specification to see if it is in fact a defect.Prove to the developer why this is a bug and how it is supposed to work.If the developer still does not accept that this is a bug, you should speak to someone higher up like the team leader or project manager to ask for their opinion on resolving the issue.
- Smoke and Sanity testing.
Smoke testing –
Smoke Testing is the initial testing process to certify that build provided by development to QA is ready to accept for further testing.Smoke Testing is surface level testing process to check that the software under test is stable/ready for further testing.
Sanity testing –When there are some minor issues with software and a new build is obtained after fixing the issues then instead of doing complete regression testing a sanity is performed on that build. You can say that sanity testing is a subset of regression testing.
- Verification and Validation.
Verification – is static testing of product
- Verification is a static practice of verifying documents, design, code and program.
- It does not involve executing the code.
- It is human based checking of documents and files.
- 4. Verification uses methods like inspections, reviews, walkthroughs, and Desk-checking etc.
- It generally comes first-done before validation.
Validation – is dynamic testing of product
- Validation is a dynamic mechanism of testing the actual product.
- It always involves executing the code.
- Validation uses methods like black box (functional) testing, gray box testing, and white box (structural) testing etc.
- It generally follows after verification.
- When the defect is fixed by developers and the Tester retest the defect and if he notice that the problem still exist. What will the tester do ?
The tester will Reopen the defect.