jQAssistant is a QA tool, which allows the definition and validation of project specific rules on a structural level. It is built upon the graph database Neo4j and can easily be plugged into the build process to automate detection of constraint violations and generate reports about user defined concepts and metrics.

Example use cases:

  • Enforce naming conventions, e.g. EJBs, JPA entities, test classes, packages, maven modules etc.
  • Validate dependencies between modules of your project
  • Separate API and implementation packages
  • Detect common problems like cyclic dependencies or tests without assertions

Rules are expressed in Cypher - the easy-to-learn query language of Neo4j:

MATCH
  (t:Test:Method)
WHERE NOT
  (t)-[:INVOKES]->(:Assert:Method)
RETURN
  t AS TestWithoutAssertion

News

  • Community Blog Posts

    We thought it might be interesting for you to see what other users of jQAssistant are doing with it. Therefore this blog post presents a collection of interesting posts from the community: Jens Nerche has contributed a collection of useful plugins and he’s regularily writing articles about what he’s doing with them. For a start…

  • Test Impact Analysis Plugin

    A new plugin jQAssistant is available providing functionality for test impact analysis. The idea is to select only tests for execution that are most likely affected by changes in the version control system in large projects. Therefore commits within the current Git branch of a Maven project are evaluated for changes on Java types. Using…

  • jQAssistant 1.3.0 released

    A new release of jQAssistant is available and it comes with some interesting new features! Read about them in this release announcement and for keeping you curious there’s also a preview on what to expect from jQAssistant development in the near future. JSON plugin The new JSON scanner plugin picks up *.json files and stores…

  • Shadows Of The Past: Analysis Of Git Repositories

    Did you read the book Your Code As A Crime Scene by Adam Tornhill? You definitivly should as the author goes beyond the usual ways of inspecting the code base of a project! He takes a close look at their histories which are hidden in version control systems like Git and gathers very useful information…

  • jQAssistant 1.2.0 released

    The year 2017 is still fresh and we’d like to celebrate it with the release of jQAssistant 1.2.0! It comes with two main changes: 1. New Maven Coordinates The project has been restructured, i.e. it is now a collection of several sub-projects. The main parts are: Framework Plugins Maven plugin Command line tool The idea…

  • „Yes We Scan!“ at JUG Hessen

    On October 27th we had the pleasure to present the talk „Yes We Scan – Software Analysis Using jQAssistant“ at Java User Group Hessen. It has been a very atmospheric evening with a great audience, an interesting topic (of course!) and some cool bottles of beer. The talk has been recorded and is now available…

  • jQAssistant 1.1.4 released

    A new jQAssistant release 1.1.4 is now available from Maven central and as downloadable ZIP distribution, the release notes are available here. Beside an upgrade to Neo4j. 2.3.7 it mainly contains bugfixes but also brings some enhancements which shall be summarized here. Generic file pattern support It is now possible to provide „include“ and „exclude“…

  • Verifying Branches Using The Git Plugin

    jQAssistant provides a public API for creating scanner plugins to enable its users extending the tool for their own needs. A very valuable contribution is the Git plugin by Jens Nerche (Kontext E GmbH). It allows very interesting insight into the history of a project but also opens up possibilities to ensure correct tagging and…

  • View All »

Back to Top