All about software, testing and startups
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 …
Most developers today are familiar with unit testing: it has become a fundamental, and increasingly widely used technique to check logically isolated, small bits of software code (e.g. a specific …
Missing or skipping adequate testing can lead to drawbacks and risks that could endanger the success of any software project. Naturally, with rampant digitalization everywhere, software quality is a …
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 …
IntelliJ IDEA is one of the most popular IDEs, with almost 30% of all professional developers using it. Among Java developers, it reigns supreme: 72% of Java developers claim to use it. IntelliJ IDEA …
If you’ve encountered build tools in the context of Java, you have definitely come across Maven and Gradle. While Maven is by far the most popular build system (with 76% of Java developers …
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 …
Through testing our VS Code extension – Symflower for VS Code – we’ve stumbled over some interesting issues and edge cases. One of them was that the copy of VS Code, which was automatically …
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 …
The starter template for VS Code extensions gives you a lot of flexibility when it comes to testing. By default, the extension under test is loaded in a special development mode, but this can be …
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 …
When testing VS Code extensions, you might run into scenarios where you want to test a condition which is not expected to be true immediately and you cannot know when that condition will be met. For …
As unit tests become mainstream, many frameworks that support unit testing for Java have gained more popularity. Java testing frameworks such as JUnit describe the guidelines for test scripts, and …
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 started with …
When you test an IntelliJ plugin using UI automation, you need to have an instance of IntelliJ running that hosts the plugin under test. That instance needs a graphical environment to run in, such as …
At Symflower, we subject all of our software components to mandatory automatic test suites before release, which is implemented using a GitLab-based CI/CD workflow. One of those components is our …
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 …
When testing a plugin for IntelliJ-based IDEs using a UI test, the plugin gets to operate within a fully-featured instance of the IDE. Most tests will therefore require a project to perform their …
When testing an IntelliJ plugin, you’ll likely reach for UI tests to verify that both the user interface as well as the code behind it functions correctly. In UI tests, your plugin runs in a …
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 …
As software is taking over the world, the development strategies we use have to evolve in lockstep to keep pace. With development teams constantly looking to innovate and improve their efficiency, …
If you’re working on developer assistance tooling such as auto-completion or error highlighting for a particular programming language, you probably want the functionality with more than one code …
With software becoming the main value driver and the primary interface between developers and customers, focus on software quality is growing. The need to deliver high-quality, bug-free products in …
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 …
No matter what your technical background as a developer looks like, you’ve probably come across or even used an IDE from JetBrains. Their product line features IDEs for various languages and …
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 following …
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 …
A software component that gracefully handles every possible input is an asset. Such strong guarantees greatly benefit a system’s security and maintainability, but the implementation of a robust …
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 worst-case …
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 tests for …
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 …