Quality Assurance at TimeTac
by Gabriele Kaier, 18.06.2019
From the very beginning of our software life cycle we make sure that the quality of the software is treated with the highest priority. This way, TimeTac ensures a productive usage of the software, that meets predefined requirements and quality criteria even before we provide our products and services to customers. Our development team explains what quality assurance at TimeTac looks like and what the benefits for our customers are.
What does quality assurance of software products serve for?
Quality assurance is a way of establishing proper functionality, efficiency and usability while preventing mistakes and defects. It helps to avoid problems before we are delivering products and services to customers. The aim is, therefore, to meet requirements and consistently keep up our products’ high quality.
Quality Management at TimeTac
Our scrum teams are responsible for the assurance of software quality. Scrum is a product management model that is employed in agile software development processes. The core aim of agile development is to develop a complex product in very short iterations. Each of these teams has a particularly trained quality expert at its disposal, as well as extensive knowledge and experience on the nature and purpose of our software. Our experts interchange new insights in a “Community of Practice” on a regular basis in order to stay up-to-date in terms of new tools and trends in the practice of quality assurance.
Our Development Team Explains
We talked to our colleagues from Quality Assurance and asked them how TimeTac checks software quality and what added value this brings you.
What Do We Test and at Which Stage?
The processes of quality assurance already start before every sprint. A sprint is a period of software development that lasts between 2 and 4 weeks. At the end of every sprint the team delivers a package of product improvements, the so-called product increment. This is a finalised, tested and delivered version of the product. Prior to any changes or new features that are about to be implemented, it is discussed with the product owner (product owners are responsible for the features and the success of a product) and the development team (consists of experts in different technical disciplines, e.g. the development of databases, frontend design or quality assurance). This way, possible faults can be detected early on in the process and, in the following, be avoided. The core functionalities of the server software is subject to strenuous automated testing, continuously and with every release.
What Methods for Testing Is Timetac Using?
The majority of our tests are run automatically on specific programs. Additionally, every new feature and every bugfix (an error in a program is called a bug, there are three types of bugs: errors in rendering and functional as well as technical bugs) is tested by end-to-end-tests. This is a testing method which simulates different usage scenarios of an application. This way, each and every change, be it within the web interface or on mobile platforms, is examined. A web interface describes a graphical user interface. With the aid of this interface and a web browser, the user can interact with the system. Manual testing is conducted when automated testing exhibits insufficiencies in specific areas.
Our test results and test cases are recorded in a relatable way. The product owners review software changes of any kind in order to ensure that requirements for functionalities as well as usability are met.
How Detailed Is the Testing?
New features are tested manually and as long as their proper and stable functionality can be ensured. Parallelly to this process, we develop automated tests which help to avoid problems that might occur later on. The implementation of new and significant features can endure several days, as in some cases, multiple feedback loops are necessary. These run through the entire testing process – from drafting formalized test files to final acceptance.
Once changes are made and the product is ready for release, a test cycle known as smoke testing is performed. This testing method describes the very first trial run of a software in order to reveal errors. In the case of errors in the program, it must be revised again before the release can take place. These tests verify if the product in its entirety is working as expected and if the changes and new features implemented have not caused adverse side effects. The product is then deployed to every single employee at TimeTac and is used on a daily basis for a certain amount of time.
After this phase is completed successfully, the changes are being introduced to our customers in an incremental manner. The product is monitored continuously in order to conduct improvements, if needed, as quickly as possible.
What Are the Benefits for Our Customers?
Quality assurance is highly integrated in all significant planning and review meetings by the development teams: testing is planned together with implementation. All of that ensures that every user gets a product that is stable, predictable and continuously improving.
At TimeTac, quality assurance is a proactive approach to detect defects as soon as possible and, in any case, before the product goes public. This is how we, as a “Community of Practice” of quality assurance, guarantee that we deliver a product that is reliable and consistently maintains high-quality standards.