jBPM 4 QA

Version 15

    The jBPM 4 QA can only be accessed from inside the VPN.

     

    http://hudson.qa.jboss.com/hudson/view/JBPM4/

     

    Introduction

    The hudson jobs are configured to just run a script which is in our svn in the qa subdirectory.  For example the jbpm4-db hudson job is configured to execute the following shell commands:

     

    cd jbpm4
    . qa/hudson-jbpm4-db.sh

    That way the whole QA driver scripts is in our svn.

     

    All the scripts make a distinction between configurable properties and derived properties.  Configurable properties can be overwritten by providing a ${user.home}/.jbpm4/build.properties

     

    The jdbc properties for continuous integration testing are located in qa/jdbc/${database}.properties

     

    The os specific script files should be called from the jbpm4 root directory.

    Parser compatibility testing

    Every jPDL process in the test suite is tested against every version of the jPDL parser unless explicitely marked as explicit.  So unless a jpdl process in the test suite contains attribute jpdlparser="4.0", then the process will be tested with all parsers.  E.g.

      <process name="SomeProcess" jpdlparser="4.6">

     

    To make the testsuite run use a specific parser, use property jpdlparser like this

      mvn -Djpdlparser=4.8  clean install

     

    See also JpdlParser and qa\hudson-jbpm4-parsers.sh

    Manual testing

    For manual testing, the hudson driver scripts can be leveraged directly or executed step by step on the command line.  As mentioned above, the qa/hudson* testsuite driver scripts should be called from the jbpm 4 root directory.

    Debugging on JBoss

    • qa\debug.jboss.setup.bat
    • qa\debug.enterprise.setup.bat

    QA Lab Database Cleaning

    Used Squirel v3.0.2 (http://www.squirrelsql.org/), 'drop table' script

     

    MySQL

    SET FOREIGN_KEY_CHECKS=0;
    drop table a;
    drop table b;
    SET FOREIGN_KEY_CHECKS=1;

    Postgres

    DROP TABLE a CASCADE;
    DROP TABLE b CASCADE;

    Oracle

    Connecting to the Oracle DB on the qa lab takes several minutes. It is easier to use the SqlDeveloper tool from Oracle itself (http://www.oracle.com/technology/products/database/sql_developer/index.html):

    DROP TABLE a CASCADE constraints;
    DROP TABLE b CASCADE constraints;

    If in the future this work is needed again, it may be better to create a script for it ... so keep your unit tests clean ;-)