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
Ourscrum teams are responsible for the assurance of software quality. 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
What do we test and at which stage?
The processes of quality assurance already start before every sprint. Prior to any changes or new features that are about to be implemented, it is discussed with the product owner and the development teams. 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 programmes. Additionally, every new feature and every bugfix is tested by end-to-end-tests. This way, each and every change, be it within the web interface or on mobile platforms, is examined. Manual testing is conducted when the 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 the 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 formalised 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. These tests verify if the product in its entirety is working as expected and 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 “Community of Practice” of quality assurance, guarantee that we deliver a product that is reliable and consistently maintains high quality standards.
Definitions in the field of software development
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. This way, customer value is created within little amount of time and their feedback can be incorporated in future developments. Scrum helps to continuously improve development processes by making use of transparency, reviews and adjustments.
A scrum 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.
The product owner is one of the roles within scrum. Product owners are responsible for the features and the success of a product. They design the product with the aim of maximising the customer value. Additionally, the product owner is responsible for prioritising future tasks with the aid of a so-called product backlog, a sorted list of requirements.
The development team consists of experts in different technical disciplines, e.g. the development of databases, frontend design or quality assurance. The members of this team are able to develop a high quality product increment during a sprint.
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. The latter results in disorders or even computer crashes. Functional bugs occur, when a feature of the program is not working as expected. Errors in rendering are grouped amongst errors in the user interface. A bugfix or a patch is the act of solving an error. Therefore, a bugfix describes the correction of defective programming parts.
The end-to-end-testing is a testing method which simulates different usage scenarios of an application. Therefore, end-to-end-testing is examining the application’s workflows from the perspective of the end user. These tests can be conducted manually or automatically.
Smoke testing is an English term that is primarily used in the field of software development. 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.
For more than 10 years TimeTac has been a successful player in the worldwide market and numbers among the leading providers of online time tracking systems in German speaking countries. The offer contains market-proven and adjustable solutions for Employee Time Tracking, Project Time Tracking, Leave Management and Shift Planners.