Table of Contents
This project focuses on implementing automated software testing for two types of applications: a simple CLI app and a RESTful API built with Flask. The goal is to ensure robust and reliable functionality through comprehensive test coverage, utilizing both unit and integration tests.
- CLI App Testing: Automates the testing of command-line interface applications, verifying correct input handling, output generation, and error management.
- RESTful API Testing: Implements automated tests for the Flask-based API, covering various endpoints, HTTP methods, and expected responses.
- Test Frameworks: Leverages popular Python testing frameworks such as
pytest
andunittest
to structure and execute tests efficiently. - Continuous Integration: Integrates with CI tools to run tests automatically on code changes, ensuring consistent code quality and functionality.
- Mocking and Patching: Uses mocking and patching techniques to simulate external dependencies and isolate test environments.
By automating the testing process, this project aims to enhance development efficiency, reduce bugs, and maintain high code quality.
-
Clone the repository
git clone https://github.com/jpcadena/automated-software-testing.git
-
Change the directory to root project
cd automated-software-testing
-
Install Poetry package manager
pip install poetry
-
Install the project's dependencies
poetry install
-
Activate the environment
poetry shell
-
If found sample.env, copy it and rename it to .env.
-
Replace your credentials into the .env file.
-
Execute with console
python main.py
Please read our contributing guide for details on our code of conduct, and the process for submitting pull requests to us.
For security considerations and best practices, please refer to our Security Guide for a detailed guide.
We enforce a code of conduct for all maintainers and contributors. Please read our Code of Conduct to understand the expectations before making any contributions.
Distributed under the MIT License. See LICENSE for more information.