Skip to content

Case study

Titanium

A keyword-driven and data-driven test automation framework, rebuilt in Python from an older Java one, with a browser-based interface served by Flask.

Overview

A keyword-driven and data-driven test automation framework for web applications, built to replace an older Java one. Tests are described rather than coded, so someone who does not write Python can define and run them.

Five contracts with the same client across the product’s life, from the first repair of the old framework through to this replacement.

What I own

The framework, both of its interfaces, and the packaging.

Complexities tackled

The interface moved from desktop to web, deliberately. The first versions used a desktop interface built with Tkinter. That works on the machine it is installed on and nowhere else. Moving to a browser interface served from static files meant the framework could be used without installing anything, which matters when the people writing tests are not the people who set up the machine.

Keyword-driven means the test is data. The whole point is that a test case is a row someone fills in rather than a function someone writes. That pushes all the complexity into the engine, which has to map every keyword onto a browser action and fail comprehensibly when a step does not match reality.

Replacing the input format was the unlock. The predecessor was driven by a spreadsheet, which is fine until two people need to edit it, or you want validation, or you want to run from anywhere. Replacing it with a proper interface is what turned a script with a spreadsheet into a tool.

Stack

Python with Selenium driving the browser, Flask serving the web interface, with JavaScript, HTML and CSS on the front, and Tkinter in the earlier desktop versions.

Client feedback

Verbatim from the public review left on the completed contract. Clients are not named because the contract record does not carry names.

Professional and sincere work with attention to details and touch of creativity
5.0 / 5.0 · Upwork ·

Working on something similar?

Tell me what you are building and what is in the way. I will tell you honestly whether I am the right person for it.

Start a conversation

Last updated: