Python Test Suite Analyzer Tool
Budget: $30 – $250 AUD
requires the development of a comprehensive tool to analyse a provided test suite for a piece of software. The analysis must cover two key white-box testing metrics: statement coverage and branch coverage. The aim is to assess the efficacy and thoroughness of the test suite in detecting faults and ensuring robustness in the software.
Objectives
Implement a tool that takes a series of given test inputs and runs them on a program.
Report the statement and branch coverage for the program when run using the series of test inputs.
Requirements
1. Statement Coverage
Objective: Determine the percentage of executable statements in the software that are executed by the test cases in the test suite.
2. Branch Coverage
Objective: Identify and report the number of acyclic paths through the program’s control flow graph that are covered by the test suite.
Input Specifications
Your program should take 2 command-line arguments:
The path to a Python script
The path to a directory containing a set of input (.in) files
It should be called using the following command:
python coverage.py <python_program> <input_file_dir>
Output Specifications
Your program should produce output indicating:
Statement Coverage: The percentage of statements executed during testing.
Branch Coverage: The percentage of acyclic paths executed during testing.
For example:
Statement Coverage: 50%
Branch Coverage: 12%
Key Requirements:
- The tool must be developed using Python.
- The primary feature of this tool should be code coverage analysis. This is crucial for ensuring the effectiveness and comprehensiveness of the provided test suite.
Presentation:
- The results of the analysis should be presented in a comprehensive and detailed PDF report. This will allow for easy interpretation and understanding of the findings.
Ideal freelancer:
- Proficient in Python programming.
- Prior experience in developing testing tools, especially those focused on code coverage analysis, would be a significant advantage.
- Able to create clear and visually engaging PDF reports.
Objectives
Implement a tool that takes a series of given test inputs and runs them on a program.
Report the statement and branch coverage for the program when run using the series of test inputs.
Requirements
1. Statement Coverage
Objective: Determine the percentage of executable statements in the software that are executed by the test cases in the test suite.
2. Branch Coverage
Objective: Identify and report the number of acyclic paths through the program’s control flow graph that are covered by the test suite.
Input Specifications
Your program should take 2 command-line arguments:
The path to a Python script
The path to a directory containing a set of input (.in) files
It should be called using the following command:
python coverage.py <python_program> <input_file_dir>
Output Specifications
Your program should produce output indicating:
Statement Coverage: The percentage of statements executed during testing.
Branch Coverage: The percentage of acyclic paths executed during testing.
For example:
Statement Coverage: 50%
Branch Coverage: 12%
Key Requirements:
- The tool must be developed using Python.
- The primary feature of this tool should be code coverage analysis. This is crucial for ensuring the effectiveness and comprehensiveness of the provided test suite.
Presentation:
- The results of the analysis should be presented in a comprehensive and detailed PDF report. This will allow for easy interpretation and understanding of the findings.
Ideal freelancer:
- Proficient in Python programming.
- Prior experience in developing testing tools, especially those focused on code coverage analysis, would be a significant advantage.
- Able to create clear and visually engaging PDF reports.