Tag Archive : Code Quality

/ Code Quality

Slack SonarQube plugin screenshot

How to send notifications to Slack with SonarQube ? What are the best plugins ?  That is what we are going to discover in this post.

(more…)

investment in SQA Tools

Some days ago, an investor asked me whether or not a fund should invest in a testing/SQA company. Here is my non-expert answer.

This post is talking about the software editor companies that creates Software quality tools.The investor concern is about how big is the threat of the opensource and how a company can create enough value to exists.

(more…)

Book : Java by Comparison, Simon Harrer

Book Review : Java by Comparison

This is a book review of Java by comparison (you may check and buy it there https://java.by-comparison.com), an ultimate compilation of exercices and good tips for whom wants to improve their coding skills. How many books about Code quality have you read ? Books having a real impact on your code code quality, your coder philosophy ?

(more…)

Cobol Custom Rule

In this article, I present how to write custom Cobol rules with SonarQube and some caveats I encountered. The targeted audience should have some basic compiler knowledge (AST, Lexical analysis, Syntaxic analysis).

(more…)

To rewrite or not rewrite a software ?

Writing a software is a incredible difficult task. When the time has come for the software to know the retirement : should we rewrite it ? or have an progressive approach ?

(more…)

Cleancode principle

A new cleancode principle : the boyscout rule

One of the best cleancode principle. The boyscout rule.

If you are interested by a cleancode course, I provide some lessons through byoskill.com Please contact me.

For more articles about code quality, check the category Code Quality.

Cleancode principle : boyscout rule
Cleancode principle : boyscout rule

Cleancode infography

1st May 2018 | Cleancode, Featured post, Refactoring | No Comments

Cleancode principle

Today I have produce a small infography with some cleancode principles that are important for me in my daily job of a coder.

(more…)

Legacy Software migration

Here is a small checklist about how to migrate a legacy migration and to ensure its success.

This article is part of my work to explain my knowledge about Software migration in the company Byoskill.

(more…)

Leave your comfort zone

To be or not to be (happy), that’s the question. In this article, I expose some thoughts about what could make a software developer happy in his work. I wrote this article with several targeted audience in mind : Junior developers, Senior Techleads and H&R resources.

(more…)

Today I was preparing a presentation about Software Code quality for a TechTalk on Thursday. I made a search on Internet about Automatic Unit test generator and Data Generators. I will present some tools I have tried. Today, we will speak of Randoop.

Randoom Test Generator

Randoom Test Generator

The first tool name is Randoop.. This tool is existing since 2007 and its purpose is to generate automatically unit tests 🙂 Directly from your class definition!

To use it you have two choices:

  • You can use your software JAR or classpath directory.
  • You can include it in your test compile path (on gradle or maven) and creates a main or unit test.

To explain short the theory, thanks to the Java reflection it’s quite easy to produce automatic tests validating some contracts of your API.

Some examples: – toString() should never returns null or throws an Exception – equals() and compareTo() methods have a long list of constraints – Reflexivity: o.equals(o) == true – Symmetry: o1.equals(o2) == o2.equals(o1) – Transitivity: o1.equals(o2) && o2.equals(o3) ⇒ o1.equals(o3) – Equals to null: o.equals(null) == false – It does not throw an exception

Therefore this tool is generating unit tests with JUnit(TestSuite) for the list of classes you provide.

I have done some tests and you can reach 50-60% of coverage quite easily.

The main drawbacks of the solution are: – The unit tests are drawing a snapshot (precise picture) of your code and its behaviour however some tests are really non-sense and you don’t want to edit them. – They don’t replace handwritten tests since the tool is not understand the different between a String parameter emailand fullName. He will mostly use dumb strings.

About the technology, it’s not production ready: – I had troubles with the jar and its dependency plume. – The JAR is a fatjar and coming with dependencies that broke my software.

In conclusion, I will fork the software and try to fix the problems to make it more popular 🙂

Optimization WordPress Plugins & Solutions by W3 EDGE