1.What is Software Testing?
- It is part of software development life cycle
- It is used to validate the accuracy of software and it as per requirements
- Goal is to test the application or product whether it gives the right output for the given input
2. Can you explain the phases involved in Software Testing Life Cycle?
- Requirement Analysis
- Test Planning
- Test Case Preparation
- Environment Preparation
- Test Execution
- Test Closure
3. What is functional testing?
- It is black box testing
- Here we focus only on the functional requirements and not how it is implemented
4. What is Non-functional testing?
•Nonfunctional testing is to verifies the applications against parameters like performance, accessibility, and user experiences
5. What are the different types of testing?
6. What is black box testing?
- In this, tester view software as Blackbox
- Testers ignores the internal structure and behavior
7. What is white box testing?
- Here tester see the internal part of the software
- Here test required have programming knowledge
8.Why do we need software testers?
- Reduced Software defects/Better Quality
- Software Build Cost Saving and ROI
- Software development velocity improvement
- Independent check
- Functional Knowledge
- Higher Client Satisfaction
9.Testcase VS Test Scenarios
Sr No | Test Scenarios | Test Cases |
1 | Requirements or User Stories converted into Test Scenarios | Test Scenarios to Test cases |
2 | Test Scenarios are Single Liners and high level | Test cases are detailed oriented and written with detailed steps |
3 | What to test and what not to test | How To Test? |
4 | Test Scenarios are written E2E perspective | Test cases are written individual features |
5 | Easy for PO/PMs are review the test coverage at high level | Referring every steps is very difficult |
10. Types of Non Functional Testing
Usability testing
Here the ease of using the application is tested and also how attractive and user friendly the user interface is checked in this test.
Load testing
To validate the application behaviour, by applying specific load is tested. How the application works on the application of load.
Volume testing
Here huge amount of data is imported to check the behavior of its working.
Stress testing
Certain level of stress is applied to the application to check how much stress it can withhold.
Performance testing
The overall performance of the application is tested especially response time.
Configuration testing
How the application works in different software and hardware also in different web servers are checked.
Compatible testing
The behavior of the application in different browsers and operating systems is analyzed. Also the behavior in different screen sizes is checked.
Security testing
It is necessary to ensure that there is no leakage of personal information and there is no loss of data .
11.Should we allow developers to close defects?
- It is based on the company and roles
- If company has separate dev and test teams below is the way defects required to be closed.
- Developers should have access to create NEW defect, assign, and resolve a defect.
- Testers should have access to create, edit, assign, postpone, resolve, verify, fail and close.
12.What is Scalability testing?
- It is a non functional testing
- This testing helps to find out how the application or product scales with the increased load in terms of users or data
- It is also called has performance testing
13.What are the Benefits of Scalability testing?
- Scalability testing ensure that application or product works well even with the increase in the user traffic or data volume or increase in the transaction volume are well within the prescribed or projected
- Using this test you can identify for how many users application breaks
- When the client or server side it breaks based on the load which cannot scale further
14.What are the Scalability testing Parameters?
- Response Time
- Throughput
- Session time
- Transaction time
- As per user load
- Network Usage
- Processor Usage
- Memory Usage
15.Can you tell me the Sanity Testing VS Smoke Testing?
Sr No | Smoke Testing | Sanity Testing |
1 | High level approach – test complete application | This testing is testing particular features of the application |
2 | Both testers and dev | Testers only |
3 | Test E2E | Test Only modified area |
4 | With manual or automated | It is kind of adhoc testing with or without test cases |
5 | It is documented in test management tools | Since no scripts not documented in the tools |
6 | This testing is done on initial builds to validate the build smokes or not | Smoke tested builds and being tested for the functionality |
16.Can you write the Requirements Traceability Matrix (RTM) ?
Sr No # | US No # | US Desc | Test Scenario No # | Test Case No # | Status |
1 | US #1 | Login Feature | Login Scenario #1 | Validate user name #1 | Passed |
2 | Validate Password #2 | Failed | |||
3 | Validated Login Button #3 | In-progress | |||
4 | US #2 | Logout | Logout Scenario #2 | Check to Click on logout link #4 | Passed |
5 | Session time out #5 | Failed |
17.What is regression testing?
- This is one type of testing
- It validates product or application works as expected for any changes in to the code due to improvements
- It gives the stability and functionality of the existing features
- This ensures to to mitigate these risks, so that the previously developed and tested code remains operational after new changes.
18.When to Use regression testing
- Update to the existing functionality
- When new feature get added
- Where there is change in the code fix to solve defect
- During Optimized source code for improved performance
- Add the new Patch fixes
- Product Configuration is updated
19.Why regression testing so important?
- With the regression developers get early feedback and respond instantly.
- It detects new defects early in the deployment cycle
- Reduced costs and maintenance efforts
- It is very beneficial if the application or feature goes frequent modification
20.Tips to Perform Regression Testing
- Identify the Changes in the Source Code
- Based on the change prioritize requirements
- Validate the Entry Point and Entry Criteria
- Plan Tests and Run it
21.Regression testing techniques
In Regression testing adapts 3 important techniques
Complete Regression
- In this technique regression testing is applied to all existing test suites
Regression Test Selection
- Only affected changes and perform regression testing (limited and relevant test cases)
Test Case Prioritization
- failure rate, business impact, and gradually used functionalities.
22.What are the benefits of Regression Testing
- Existing and updated functionalities
- It avoids rework in the future
- It ensures business functions are stable and sustainable
- It helps the developer to work on the new features than keep checking the old features due to issues
- It helps to find issues in software builds
23.What are the Different Types of UAT?
- Alpha Testing
- Testing to be done on development environment from internal team (either testers or development team)
- Beta Testing
- Testing to be done on client environments and perform the extensive testing and based on the feedback improvements will be done for the product
- Contract Acceptance Testing
- Here testing to be done on the criteria being defined as per contracts specifications
- Regulation Acceptance Testing
- This testing to be done based on the regulations defined in the legal or government dept.
- Operational Acceptance Testing
- This kind of testing all the workflows to be tested, trainings, security validations and maintenances related aspects
24.What are the Difference Between Manual Testing vs Automated Testing?
Sr No | Manual Testing | Automated Testing |
1 | Testers manually tests and find the defects | Tools to run the tests in automated way and find the defects |
2 | Human errors are higher | Minimal errors due to tools being used |
3 | This is very useful when human validation is important [usability/adhoc/exploratory] | Tool can executed only the automated tests |
4 | Manual testing is time consuming | Runs unattended mode and it has ability to run in parallel on different platforms and devices Faster turnaround time |
5 | Low cost if the short product life cycle | High cost of implementation and ROI on long run |
6 | Higher errors in repeated executions due to monotonous | High accuracy and can be done in quicker manner |
25.What is L10N Testing or Localization Testing?
Focuses on the language translations on the following topics
- GUI elements [Date /time, sort order, numeric and monetary formats, collate and sort ]
- Online help/Readme files •Error messages
- All the documents such as User manual, Installation guide, Release notes etc.,
- Validating the GUI functionality and nothing strange
- Error messages Correctness and consistency
26.What is I18N –Testing or Internationalization?
- Verifying the AUT to work uniformly across multiple regions and cultures
- To validate code can handle all international support without data losses
- Validate the functionality of the product on any regions and cultures
- Verify the language settings and currency settings.
27.What are the severity types assigned for defects/Bugs
There are normal 3 severities assigned
- Low – UI bugs
- Medium – Software hangs, Certain functionalities does not work
- High – Crash, loss of data, Critical function issues
28.What is End to End Testing?
- It is process of testing end to end of the application or product
- From installation to Testing and uninstallation
- Testing 3rd party integrations
- Testing on Different Networks
- Testing on Desktops/Mobiles etc.
- Testing on Different Databases
- Testing on External software’s
29.What is Cross browser testing?
- Main purpose of cross browser testing is to ensure the application run across different browsers such as Google Chrome, Internet Explorer, Safari, Edge, Fire Fox etc.
- Checks for inconsistencies across multiple browsers
30.What is Critical Vs. Blocker Defects
•Blocker
- Bug blocks testing with no workaround
- If the bug is not fixed then testing cannot proceed testing
- loss of service
•Critical
- Bug breaks major functionality
- Testing isn’t actually blocked as we have other areas we can test
- Functional failure/data loss/private data exposure, etc.
31.Can you explain Defect escalation process?
- It is based on the company and roles
- If company has separate dev and test teams below is the way defects required to be closed.
- Developers should have access to create NEW defect, assign, and resolve a defect.
- Testers should have access to create, edit, assign, postpone, resolve, verify, fail and close.
32.What is Defect Triggering?
- It is scenarios or conditions or behavior triggers a defect
- For example,
- Low disk space is often a defect triggering condition. When you fill up a disk, defects appears.
- Defect related to search results has ‘click on search button’ as triggering event.
33.What is Enhancement and Postponed defects?
Enhancement Defect
- New features or changes to the existing functionality.
- These would be covered as change requests.
Postponed Defect
- These defects will be fixed at a later stage(Minor or trivial defects)
- Normal Major or critical issues cannot be postponed.
34.How to handle a non reproducible bug?
- Validate the detailed steps used to produce the bug
- Verify the system/environment used to produce the bug
- Gather Screenshots and Logs
- Capture all the available Test Execution Results. This includes your test data, screen shots, applications logs, system logs, server logs
- Need more patience
- Need more observation skills on the application behavior
35.What is Exploratory Testing
- This is where the testers just test the critical features instead of following the formal procedure in case of lack of time.
36.What are the advantages of Manual Testing?
- Can be used for small sized projects
- Tester can find more issues easily
- Testcases can be easily modified if there any changes
- Manual testing is very useful when you are performing adhoc/exploratory/usability testing
- Lesser skills required
37.What are the Disadvantages of Manual testing?
- Highly tedious/redundant work
- Not suitable for stringent deadline projects
- It is very expensive
- More errors from tester due to routine work
38.What are the Challenges in software testing?
- Lack or Insufficient documentation or unfrozen requirements.
- Unavailability/Lack of skilled testing resources
- Stringent timelines
- Unstable systems and incomplete modules are given for testing
39.When we should not use Automation?
- Retesting of defect or bug
- Tests are executed once
- Adhoc or exploratory testing
- Complex scenarios or no ROI
- Scenarios which not exact output where it generate random output
40.What are the Best Practices Software testing?
- Start the testing as early as possible
- Keep up to date all the test cases
- Think like customer
- Think out of the box while deriving the tests
- Keep automating the repetitive tests
41.What is test outsourcing?
- Testing efforts or tasks given to another company or separate team for testing
- 3rd party view or perspective
- Unbiased testing
42.What is Crowd source testing?
- This is another way of testing
- Testing any be done any one apart from testers as well
- Tests are done across globe and provide the feedback
- These outsource resources will get paid based on their work
43.What is test bed?
- It is test environment
- With different combination of OS/Hardware/Software/Database/Network