CHAPTER 6 TEST TOOLS Flashcards
BASIC TASKS OF TESTING
- product analysis and evaluation
- determining what measures will be used in testing
- test analysis
- test design
- test implementation
- test execution
- analyzing test results
- test environment management
TEST AUTOMATION
- usually means automating test execution -> implementing and executing automated test scripts
BUT
MODEL-BASED TESTING
automation can include TEST DESIGN and DETERMINATION OF THE EXPECTED RESULT based on the analysis of the model provided by the tester
TOOLS CAN SUPPORT TESTING ACTIVITIES SUCH AS
- TEST DESIGN, IMPLEMENTATION, EXECUTION
- TEST DATA PREPARATION
- TEST MANAGEMENT, DEFETC MANAGEMENT, REQUIREMENT MANAGEMENT
- TEST EXECUTION MONITORING AND REPORTING
PURPOSES OF TEST TOOLS
- Automate repetitive tasks or tasks that require a lot of resources or significant effort to perform manually (e.g. regression testing) - better efficiency
- Support manual activities ans increase the efficiency of test activities
- Increase consistency of testing and reproducibility of defects
- Automate those that cannot be done or are very difficult to be done manually (e.g. performance testing)
PROBE EFFECT
USE OF TEST TOOL CAN AFFECT THE ACTUAL TEST RESULT
E.G. adding additional code instruction to measure the software performance
GROUP OF TOOLS THAT SUPPORT AND FACILITATE TESTING ACTIVITIES
- MANAGEMENT TOOLS
application lifecycle management, test basis to requirements traceability, test monitoring, defect management, teamwork tools - STATIC TESTING TOOLS
support in performing reviews (review planning, supporting traceabilities, communication, maintaining repository, collecting metrics) and status analysis - DYNAMIC TESTING TOOLS
support dynamic analysis, code profiling, monitoring memory usage etc. - TEST DESIGN AND TEST IMPLEMENTATION TOOLS
generation of test cases, test data, test procedure, support model-based testing, framework for BDDD and ATDD - TEST EXECUTION AND COVERAGE MEASUREMENT TOOLS
automated execution of tests
automated measurement of coverage achieved
automated GUI/API testing - NON-FUNCTIONAL TESTING TOOLS
perform non-functional testing that can’t be done manually (e.g. generations load for performance testing, scanning for security vulnerabilities, usability testing od interfaces) - DevOps tools
support deployment pipeline, workflow tracking, CI/CD - Collaboration tools
- Tools to support the scalability and standardization of deployements ( virtual machines, containerization tools)
BENEFITS OF USING TOOLS
• saving time by reducing repetitive manual work
• greater consistency and repeatability prevents human error
• more objective assessment and ability to calculate metrics that are too complex for humans to calculate
• easier access to test information to support test management and reporting
• reduced test execution ti,e, earlier defect detection, faster feedback, faster time to market
• more time for testers to design new, stronger, and more effective tools
RISKS OF USING TOOLS
- unrealistic expectations about the benefits of the tool (including functionality and ease of use)
- inaccurate/erroneous estimation ot the time, cost, and effort required to implement a tool, maintain testing scripts, and change manual testing process
- using a tool when manual testing is more appropriate
- relying on the tool when human critical thinking is needed
- dependence on tool vendor
- when using open source tool - tool project may be abandoned , no future updates
- platform and tool may not be compatible
- failure to comply with regulatory requirements and safety standards