All about software, testing and startups
Mutation testing (an error-based testing technique / fault-based testing technique) is a lesser-used technique to help ensure high software quality. This post provides an introduction to mutation …
JDK 21 is here! This article details all the updates and changes in the latest version Java 21 with quick descriptions and examples to help you understand what is new. The previous JDK version, Java …
This post analyzes the findings of the State of Testing™ Report’s 2023 edition with all the key trends, practices, and challenges in software testing relevant now and in the near future. The …
The testing trophy is a lesser-known alternative to the popular testing pyramid. This post dives into the details of the testing trophy and its differences to the testing pyramid. As we know, testing …
At Symflower we love rebasing commits. This is not a result of us enjoying the suffering of our team members that are not yet fluent with Git, but it makes development, debugging problems and …
Unit testing and integration testing are both indispensable in software quality assurance. This post covers the basics of both types of testing and introduces a useful tool to automate your testing …
KISS (aka Keep it Simple, Stupid!) is a handy principle for anyone designing complex systems such as software. This post dives into how you can apply it in your projects! In our series about …
Migrating from JUnit 4 to 5 can be a challenge if you’re not familiar with JUnit 5. Here’s a step-by-step guide that walks you through the process! JUnit has been one of the most popular …
Inadequate software testing has many drawbacks such as the risk of bugs and errors, increased development time, and growing technical debt – all covered in previous parts of this series. In this last …
Many software developers use code katas to get better at writing efficient and high-quality code. This post dives into the details of code kata exercises and how they can help enhance your coding. …
In this final article of our 4-part series on debugging, we’ll walk you through a practical example of using Symflower to find simple reproducers for bugs in your code. This blog series on …
Test-Driven Development promises significant benefits, but its adoption is far from straightforward. In this post, we’re sharing some best practices and strategies to ensure the success of your …
As many teams know, skipping adequate testing can result in growing technical debt. That’s what we dive into in part 3 of our series on the costs of missing software tests. In previous parts of …
Test-Driven Development (TDD) is gaining traction in the industry. This blog post introduces our white paper which helps you and your team get familiar with TDD. The post also mentions some of the key …
Inadequate software testing is known to result in longer development times, leading to delays in time to market. That’s what we dive into in this article, part 2 of our series on the costs of …
This guide to using unit tests to find and fix bugs in software applications is part 3 of our debugging series, focusing on the practical side of debugging. In part 1 of this series, we gave a general …
There are some widely used unit testing frameworks and useful tools that can greatly support your unit testing efforts. Here’s a top list of the ones we find best! Most developers today are …
Missing or skipping adequate testing can lead to risks that could endanger the success of any software project. But what exactly are the specific and practical drawbacks of poor software quality due …
In part 2 of our post series on debugging, we’re covering the practical aspect, providing some useful workflows and tools that you can use to put the TRAFFIC principle into action when debugging …
Lots of us use and love IntelliJ IDEA. But even this great IDE can benefit from some plugins to help boost our development productivity. Here’s a list of our favorite IntelliJ productivity …
Gradle is the second most popular build system. If you want to run JUnit tests with Gradle, this guide provides instructions for setting everything up. Running JUnit 5 tests with Gradle If …
As a software analysis company we have an inherent need for parsing source code. Until recently we used the maybe most prominent tool for parsing Java code which is JavaParser. JavaParser works …
Debugging a piece of software can drive the most well-tempered developer nuts – yet, sadly, it’s also inevitable, as no one writes bug-free code. Trying to find out what is wrong with faulty …
Check out all the posts in our VS Code extension development series: How to make VS Code extensions: guide & best practices Through testing our VS Code extension – Symflower for VS Code – …
In Part 2 of our unit testing guide with JUnit, we’ll dig deeper and present some advanced techniques that will be useful once you start applying unit tests in your projects with JUnit 5. In …
Check out all the posts in our VS Code extension development series: How to make VS Code extensions: guide & best practices The starter template for VS Code extensions gives you a lot of …
Symflower allows you to analyze and automatically generate unit tests for Java projects which rely on Maven dependencies. Let us have a look at how that plays out in practice. Project Setup We are …
Check out all the posts in our VS Code extension development series: How to make VS Code extensions: guide & best practices When testing VS Code extensions, you might run into scenarios where you …
If you’re new to writing JUnit test cases, this 2-part guide will provide you with the solid fundamentals you’ll need to start writing unit tests using JUnit. ## Unit testing with JUnit As …
Aiming to start writing extensions for Visual Studio Code? You’re in the right place to kick things off! This series of blog posts will provide you with fundamental information on getting …
Check out all the posts in our IntelliJ plugin development series: All you need to know for IntelliJ plugin development When you test an IntelliJ plugin using UI automation, you need to have an …
Check out all the posts in our IntelliJ plugin development series: All you need to know for IntelliJ plugin development At Symflower, we subject all of our software components to mandatory automatic …
Performing unit testing has become standard practice in modern software development. Doing adequate unit testing is simply necessary if you’re aiming to shift-left your testing and fix bugs as …
Check out all the posts in our IntelliJ plugin development series: All you need to know for IntelliJ plugin development When testing a plugin for IntelliJ-based IDEs using a UI test, the plugin gets …
Check out all the posts in our IntelliJ plugin development series: All you need to know for IntelliJ plugin development When testing an IntelliJ plugin, you’ll likely reach for UI tests to …
So you’re interested in writing plugins for a Jetbrains' IntelliJ-based IDE such as IntelliJ IDEA, GoLand, or Android Studio. You’ve come to the right place! Our blog post series will …
Java 20 has been released on 21st March 2023, and it introduced a range of changes and new functionality. The current version is a non-LTS release, while the following version 21 is set to be a …
Symflower fully supports you when writing Java tests with JUnit 4 and JUnit 5. There are two ways to use Symflower to streamline your unit testing activities: Instantly generate boilerplate testing …
Software development has to evolve to keep pace with the growing demand for digital technologies and the software that drives them. Here’s a list of trends that define software development in …
Check out all the posts in our VS Code extension development series: How to make VS Code extensions: guide & best practices If you’re working on developer assistance tooling such as …
Here’s a list of new software testing strategies that will likely gain traction in 2023, and the software testing trends that Symflower expects to continue to unfold this year! With software …
Implementing new features and thinking up the best way to get everything just right is part of what makes software development exciting. In addition, being able to apply our problem solving skills …
The programming principle YAGNI (You aren’t gonna need it) originates from extreme programming, which is an agile software development methodology that advocates frequent releases with short …
Fuzzing is a testing technique where random values are generated as inputs to find unexpected behavior such as crashes and security issues. Previously we looked at the new Golang release 1.18 which …
Check out all the posts in our IntelliJ plugin development series: All you need to know for IntelliJ plugin development No matter what your technical background as a developer looks like, …
Creating illustrations on conceptual issues is a very tedious task which is often required when working on a product for software developers. Though tedious, illustrating those abstract concepts well …
In the software world we have an ever growing collection of testing technologies at our disposal. Mainly there are three levels on which testing is commonly performed: the unit-, integration- and …
Test templates help you write and maintain manually-written unit tests more easily and quicker than doing it entirely by hand. The test template generator in our IntelliJ plugin takes care of …
There are hundreds of different kinds of software testing types around. Why is that? Because every functional and non-functional requirement of a software product needs to be tested, otherwise one …
Unit tests are essential for fast but safe development. They freeze intended behavior, and therefore let us find bugs due to changes or refactoring hiccups with ease. This saves us a lot of time which …
Why should you care about meta tags? Well, meta tags help ensure your website works as intended. They present your page in the optimal way to search engines and social media websites, thus helping …
Do you have a website or web application that would be more readable if the style would just change a little bit? We faced the same problem at Symflower with GitLab because the names of our CI jobs …
This article offers a fresh perspective on the programming principle Don’t Repeat Yourself (DRY) and showcases how we embrace DRY internally at Symflower. DRY is most commonly applied in the …
Have you ever asked yourself how to name and structure your automated tests, which assertions you should use and how to implement sub-tests? The answers to these questions make up your test style. …
When applying unit testing on your software, you’ll likely end up with lots of unit tests. In order to stay organized so that your structure is transparent and easy for other collaborators to …
Programming principles (also called coding principles or conventions) are guidelines that help us prevent making “unfavorable” design decisions during coding. That is why every developer …
Unit tests are not just a nice-to-have, but a must-have in most projects. They let you focus on your implementation as the existing behavior can be freezed with a good unit test suite, that is, there …
These days everything is either moving or already running in containers when it comes to software infrastructure. The very first container of Symflower was not for our product, some service or our …
Nearly every programmer has experienced long and confusing code at least once in their lives. Such complexity often happens naturally during development, by adding new code to improve the product. …
Ever wondered what the best style for writing unit tests is? We at Symflower have a certain take on that. We developed a test style optimized towards debuggability, readability and understandability. …
Having to deal with code quality issues deep in a project’s life-cycle is a shared nightmare between all developers. There is nothing worse than being knee-deep in development – or, in a …
Most developers have used Visual Studio Code at some point in their careers. It has been voted the most popular IDE of 2021 by respondents of the StackOverflow developer survey, and its appeal is …
In the first blog post of our blog series on Symflower’s Core Technology, we explained how symbolic execution works and how we apply it to test source code, and generate unit tests. In this …
Last month, the Go language team released the Go 1.18. It contains the much awaited generic support, which we’re very excited to try out. We also noticed some other interesting changes in the …
With Symflower CLI, a major part of our product is required to run as a binary on the local machine. Since we use Linux in the company, the first version of Symflower was first and foremost designed …
There are tons of great open source solutions that help us every day to develop, test, and debug our software products — Symflower CLI, Visual Studio Code, the Delve debugger, or the testify unit …
Have you ever noticed that when you type a single letter in your browser’s address bar, it will automagically suggest the website you want to visit? In essence, websites are just visually …
There’s no way around it: regardless of the specific market or sector, practically every kind of company has been affected by the COVID-19 pandemic happening in the past two years. Most of us …
When coding, we are used to reassigning variables repeatedly. Just take for (int i = 0; i < 100; i++) { } as an example, where the value of i changes a hundred times after its initialization. But …
We’ve covered the general reasons why we’ve chosen to use Cypress in our previous blogpost about testing. In this next article, we will go into details about how Cypress can be used to run …
Out of all the factors that influence a business' success, brand image is perhaps one of the most impactful ones. The way your company is perceived by potential users, customers, and business partners …
As part of our efforts to be active in the software development and testing community and meetup space, we took part in the 2021 B2B Software Days event during May 10-12, 2021. To bring our readers a …
More often than not, software testing is perceived as necessary evil by developers. Coding new features is more fun and is also often thought to require more skill than testing, which is why in many …
While the concept of symbolic execution (SE) was introduced in the 1970s, it has mostly been relevant for scientists in the decades since. In essence, symbolic execution provides a way to analyze a …
At Symflower we started off writing our UI system tests with Jasmine, but switched later on to Cypress. This blog post summarizes our experiences with Jasmine and why it pays off to switch to a …
Bring light into your math problems by modeling them and letting a solver do the heavy lifting. In this blog post we will show you a clever way to solve a riddle. For that end, we will model it as a …
In certain GitHub repositories, e.g. Apache ShardingSphere, you can find so-called code coverage badges provided by services like codecov.io. You might have an intuitive understanding of what code …
Or: How I spent a whole week removing a slash from a URL. Suppose you’re writing an Angular app and you want it to be available regardless of what URL you host it under. This is often desired …
Like many software development teams, we use GitLab to manage our product’s lifecycle, from milestone planning to CI/CD. We heavily rely on code review to catch potential problems before they …
We’re kicking off Symflower’s series of blog posts about fundamental software testing strategies and insights. Our guide to software testing series will help you understand key concepts …
We are solving math problems on a daily basis since we were little children. Starting with the pressing question of how many sweets we can buy with our weekly pocket money, finding the perfect …
The version control system Git gives us powerful tools to orchestrate collaborative software development. Developers use code reviews to catch many issues long before a customer would notice them. To …
Symflower employs deep source code analyses and mathematical models to fully automatically write, run and analyze unit tests, covering all interesting paths through your software programs. These high …
At Symflower we strive for continuous improvement at all levels and areas. From our point of view this principle is only possible through joint reflection and an open feedback culture throughout the …
Over the course of my education I (Evelyn Haslinger) did several internships. The disillusioning reality of most of these internships was that I would have spent my summers better off by doing …
Ariane 5, Boeing’s 787 Dreamliner and a 105-year old swedish lady who has to go to preschool. All these events have one thing in common – they were caused by software errors. Today we show you …
Since March 16 most of Austria’s companies are obliged to switch to remote work. The transition from on-site work to pure remote work went really smooth for Symflower. Mostly because many of our …
The Austrian Federal Economic Chamber (WKO) has launched with #schaffenwir its latest campaign to put a stronger focus on local companies and their employees. From now on Symflower and its team will …
Innovation meets tradition at the Ingram Micro Top. With it’s 17th edition the event has traditional character in the IT industry. Annually the latest innovations are represented in the course …
After 18 months in the Tech2b startup incubator, it is time for us to move to our own office. We really enjoyed our time at Tech2b and we wish our mentors and colleagues all the best. Thank you for …
Symflower looks back at the #MWC19. After 8 weeks we have finished our post-processing and are able to look back on a successful and exciting Mobile World Congress 2019. Let me start by concluding …
Symflower at its tech2b graduation. Startups who have successfully completed their incubation with tech2b are honored in a graduation ceremony. We were honored with the “winner diploma” by …
TECHCENTER meets NEUE WERFT is a (still) young format that regularly conducts interviews with founders of innovative companies. Our co-founder, Evelyn, was interviewed about Symflower as part of this …
We have been invited to introduce Symflower at the Founder’s Breakfast of the Johannes Kepler University Linz. This event took place for the 10th time and attracted numerous visitors. Space …
We held a Kubernetes talk and workshop at the fifth Infrastructure as a Meetup (IaaM). Why Kubernetes?" Kubernetes has become the leading framework for container orchestration, deployment and the …
We attended the final of the i2b business plan competition of the Austrian-Federal-Economic-Chamber. Only 15 business plans out of 232 entrants received an invitation to the final. We won the shared …
We got accepted into the tech2b Scale-up program. Tech2b is an incubator in Upper Austria which supports technology- and design-orientated startups. Why Should You Attend? The tech2b funding offers …
We attended the final of the Edison der Preis idea contest! Out of 60 entrants only 6 teams were invited for the technical category. Why Should You Attend? Entering the second phase of the contest …