Continuous regression testing for engineering teams. Get feedback when you write code that could break your software.
Deploy this app to Linode with a free $100 credit!
Touca helps engineering teams find the unintended side-effects of their day to day code changes. It remotely compares the behavior and performance of your software against a previous trusted version and visualizes differences in near real-time.
You can self-host Touca Server using Docker Compose and through our CLI.
brew install touca
touca server install
Or you can use Touca Cloud that we manage and maintain. We have a free plan and offer additional collaborative and enterprise features to larger teams.
Touca has SDKs in Python, C++, Java, and JavaScript.
Let us imagine that we want to test a software workflow that takes the username of a student and provides basic information about them.
def test_find_student():
alice = find_student("alice")
assert alice.fullname == "Alice Anderson"
assert alice.dob == date(2006, 3, 1)
assert alice.gpa == 3.9
We can use unit testing in which we hard-code expected values for each input. But real-world software is complex:
Touca is effective in testing software workflows that need to handle a large variety of inputs or whose expected behavior is difficult to hard-code.
import touca
from students import find_student
@touca.workflow(testcases=["alice", "bob", "charlie"])
def students_test(username: str):
student = find_student(username)
touca.check("fullname", student.fullname)
touca.check("dob", student.dob)
touca.check("gpa", student.gpa)
This is slightly different from a typical unit test:
With Touca, we describe how we run our code under test for any given test case. We can capture values of interesting variables and runtime of important functions to describe the behavior and performance of our workflow for that test case.
Now if we make changes to our workflow under test, we can rerun this test and let Touca automatically compare our captured data points against those of a previous baseline version and report any difference in behavior or performance.
If you are new to Touca, the best place to start is our documentation website.
We hang on Discord. Come say hi! We love making new friends. If you need help, have any questions, or like to contribute or provide feedback, that's the best place to be.
This repository is released under the Apache-2.0 License. See
LICENSE
.
Please login to review this project.
No reviews for this project yet.
Alternative open-source dashboard for the Cypress browser a…
Lightweight Selenium hub implementation launching browsers …
A web server that uses HTTP dumps as a source for responses.
Comments (0)
Please login to join the discussion on this project.