Project Testing


Test Environment

As described in the syllabus, we'll start testing each project inside a freshly installed copy of Ubuntu 18.04 LTS (Bionic Beaver), 18.04.3 to be more exact.

You can download the Ubuntu image we use to build our test environment here.

The SHA256 digest for the image is

add4614b6fe3bb8e7dddcaab0ea97c476fbd4ffe288f2a4912cb06f1a47dcfa0

You can check the digest easily:

  
$ openssl dgst -sha256 ubuntu-18.04.3-desktop-amd64.iso

NOTE: the command above will take a while to complete since the .iso file is quite large.

We'll then execute the script that you provide and installs all required packages, e.g. tomcat, Java, etc.

If you don't provide a script that installs all packages that will be needed to build and test your project, then we can follow your written instructions, as in we can copy from your README file and paste to the command line of the test environment.

NOTE: the tester won't be able to follow generic instructions like "install the Java SDK", etc. Your instructions must ve *very* specific.

Testing Algorithm

  1. If (build script or specific setup instructions are missing) then STOP, assign a score of zero for the project.
  2. If (build script fails to generate an executable) then STOP, assign a score of zero for the project. NOTE: by "executable" we mean a deployable artifact, for example a .war file if the runtime environment is something like Tomcat.
  3. If (script to generate unit test coverage information is missing) then STOP, assign a score of zero for the project.
  4. If (script to generate unit test coverage information fails) then STOP, assign a score of zero for the project.
  5. If (unit test coverage is less than 50%) then STOP, assign a score of zero for the project.
  6. If (executable) fails to deploy then STOP, assign a score of zero for the project.
  7. Proceed with testing the project functionality, as described in the functional testing instructions.

NOTES

  • If you have a Maven-based project, then we can run Maven commands from the command line in order to build and deploy.
  • We are not going to test your project from within an IDE, whether Eclipse or something else.

Last update: Jan 7, 2020 Virgil Bistriceanu cs445 Computer Science