Types of testing Flashcards
What is manual testing?
Type of software testing where test cases are executed manually by a tester without automated tools
What is the purpose of manual testing?
Identify bugs, issues, and defects in the software app
What are the types of manual testing?
- Black box testing
- White box testing
- Unit testing
- System Testing
- Integration Testing
- Acceptance testing
How is manual testing performed?
- Read and understand software project documentation. Study application under test (AUT) if available
- Draft test cases
- Review test cases with team lead and/or client
- Execute test cases on AUT
- Report bugs
- Once bugs are fixed, execute failing test cases to verify they pass
What are tools used to automate manual testing?
Selenium, QTP, JMeter, Loadrunner, TestLink, Quality Center (ALM)
What is automation testing?
Software testing technique that uses automated testing software tools to execute a test case suite
What is the goal of automation testing?
Reduce number of test cases to be run manually (not to eliminate manual completely)
Why is test automation important?
Best way to increase effectiveness, test coverage, and execution speed
Which test cases should be automated?
- High-risk business critical test cases
- Test cases that are repeatedly executed
- Test cases that are tedious or difficult to perform manually
- Time-consuming test cases
Which test cases should not be automated?
- Newly-designed test cases that have not been executed manually at least once
- Test cases with frequently changing requirements
- Test cases executed on an ad-hoc basis
What are the steps followed in an automation process?
- Test tool selection
- Define scope of automation
- Planning, design, and development
- Test execution
- Maintenance
How can you determine scope of automation?
- Feature important for the business
- Scenarios that have a large amount of data
- Common functionalities across applications
- Technical feasibility
- Extent to which business components are reused
- Complexity of test cases
- Ability to use same test cases for cross-browser testing
What happens during planning, design, and development?
Create automation strategy & plan
1. Automation tools selected
2. Framework design and its features
3. Schedule of scripting and execution
4. Deliverables of automation testing
What happens during test execution, in automated testing?
Automation scripts are executed
What is the test automation maintenance approach?
Automation testing phase to test whether new functionalities added to software are working properly
What are the four types of frameworks used in automation software testing?
Data-driven, Keyword, Modular, and Hybrid
What are the types of automated testing?
Smoke, unit, integration, functional, keyword, regression, data driven, black box
What factors should be considered when choosing an automation tool?
Environment support, scripting language used, support for various types of test (functional, mobile, etc)
What are some disadvantages of automated testing?
Automation testing tool isn’t foolproof - each has their limitations, the tools to run automation testing are pricey
What are some advantages of automated testing?
Speedy and efficient, can reuse and execute the same kind of testing operations
What are some advantages of manual testing?
Less expensive - don’t have to spend budget for automation tools
What are some disadvantages of manual testing?
Less reliable because humans are prone to mistakes and errors, certain tasks are difficult to perform manually
What is unit testing?
Individual units or components of software are tested
What is the goal of unit testing?
Validate each unit of software performs as expected
Why is unit testing important
- Helps fix bugs early in development cycle, saving costs
- Helps developers understand testing code base
- Good unit tests serve as project documentation
- Helps with code re-use - can migrate code and tests to new project, tweak code until tests run again
What are the disadvantages of unit testing?
- Can’t be expected to catch every error
- Focus on a unit of code, so it can’t catch integration or system-level errors
What is integration testing?
Software modules are integrated logically and tested as a group
What is the goal of integration testing?
Expose defects in interaction between software modules when integrated
What are the types of integration testing?
Big bang and incremental approach
What are the three divisions of incremental approach?
Top down, bottom up, and sandwich
What is big bang testing?
All components are integrated together at once and tested as a unit
What are the advantages of big bang testing?
Convenient for small systems
What are the disadvantages of big bang testing?
- Testing team has less time for execution in testing phase as integration testing happens after all modules are designed
- Some interfaces could be missed because of the number of components that need to be tested
What is incremental testing?
Testing done by integrating two or more modules logically related to each other and then tested for proper functioning of app
What is stubs and drivers?
Dummy programs used in integration testing to act as substitutes for missing models in testing
What is stub also called?
Module under Test
What is driver also called?
Module to be tested
What is bottom-up integration testing?
Lower-level modules are tested first
What is an advantage of bottom-up integration testing?
No time wasted waiting for all modules to be developed
What are disadvantages of bottom-up integration testing?
- Critical modules that control flow of app are tested last and could be prone to defects
- Early prototype isn’t possible
What is top-down integration testing?
Higher-level modules are tested first
What are advantages of top down integration testing?
- Possible to obtain early prototype
- Critical modules are tested on priority - major design flaws can be found and fixed first