What are the various roles of a software tester?
A software tester is responsible for understanding the specifications and analysis of the requirements. A tester also develops test cases or strategies on how to execute the tests and be able to come up with the expected result, detect bugs and write bug reports, verify fixes, and create required documents.
How to deal with non-reproducible bugs?
Non-reproducible bugs are difficult to work with for testers and developers, so to avoid such issues, be more detailed in observing the process of the software, capture the entire behavior and all the procedures made during testing. You should also keep screenshots, test data, or logs once the bug has been encountered. Get innovative and try to make use of screen capturing software like Camtasia to capture your testing process.
What are the stages of bug life cycle?
- New – If a bug has been found for the first time, the status will be posted as “New”.
- Open – The test lead then approves the bug and will change the status to “Open”.
- Assign – The bug will now be assigned to the corresponding developer. The status will be
changed to “Assign”. - Test – Once the bug has been fixed, the developer should assign the bug to the corresponding tester for the next stage of testing. The status will be changed to “Test”.
- Deferred – This stage determines the priority of the bug if it is expected to be resolved in the current or next release. The status will be changed to “Deferred”.
- Rejected – If the developer thinks that the bug is invalid then the status will be changed to “Rejected”, specifying the reason.
- Duplicate – If the bug has been mentioned more than once having similar behavior then the status will be changed to “Duplicate”.
- Verified – Once the bug has been resolved and tested, the status will then be changed to “Verified”.
- Reopened – If the bug still occurs even if the developer already submitted a fix, the status will be changed to “Reopened”.
- Closed – If the bug is confirmed resolved then the status will be changed to “Closed”.
What can be the common reasons why a developer can’t fix a bug that is identified by a tester?
- The developer can’t replicate the bug.
- The developer needs more details about the bug.
- The developer is not capable of fixing the bug.
What to test in order to deliver effective software?
- Test all the requirements specified under the plan.
- Test functionality integrated with other components.
- Test the performance of the software.
- Test the software with different platforms/environment.
- Get into exploratory testing mode.
How to reduce the problems that occur during testing?
- Testing goals should be clearly defined.
- Implement appropriate phase in the life cycle
- Plan effective test strategies.
What are the common misconceptions about Software Testing?
- Testing is easy to perform.
- Anyone can test because no skill or training is required and
- Testing ensures a bug-free software.
How to build a good relationship with developers?
Testers should build teamwork with developers by sharing strategies like
- How to test the software.
- Writing a detailed bug report.
- Being cooperative especially with developers’ concerns.
- Try not to escalate issues and discuss amongst yourselves.
Does Automated testing lessen the need for Manual testing?
Automated testing can help you with testing but in no way automation can take place of manual testing. It may be easier and faster to apply but it doesn’t assure that all scenarios are captured so at some point, manual testing is necessary.
Why does Ad Hoc testing have higher potential risks as compared to others?
Ad Hoc testing is unstructured and can be randomly executed because test plans, test cases or documentations are not required.
Also check Software Testing Interview Questions Part1