Presentation

This blog is developed by the testing team of the Alarcos Research Group (Institute of Technologies and Information Systems, Instituto de Tecnologías y Sistemas de Información, Universidad de Castilla-La Mancha, Spain). In the testing team, we mainly work on the automation of the software testing process. We deal with:

-Mutation testing.

-Model-based testing.

-Testing in Software Product Lines.

-Testing of Information Systems.

-Combinatorial testing.

Friday, February 17, 2012

The Java precision...

Hi all,

The other day i was testing a system that calcuates weights and i discobered a precision bug in Java.

Try to run this:

public void testPor3(){
double a = 3;
double b = a * 0.2;
System.out.println(b);
double af = 3;
double bf = a / 5;
System.out.println(bf);
}

The output that i got was:

0.6000000000000001
0.6


Then, i and Fede googled about this error and we found this (http://www.velocityreviews.com/forums/t139008-java-double-precision.html):

double val = 0;
for(int i=0;i<10;i++) {
val+=0.1;
System.out.println(val);
}

has the following (terrible) output:

0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999


What a mess!

Tuesday, February 7, 2012

What is mutation testing? (I)

[Do you want a spanish version of this page? Follow this link].

Suppose you are the head of a publishing house, and that you need to hire a style and spelling checker. If you have a set of candidates, a possible way for selecting the best one is to give them a text (such as that on the left side, which is the first paragraph of The Catcher in the Ray novel, by J.D. Salinger) with some errors, and then hiring that one who find more typos. 

If you realy want to hear about it, the first thing you'll probably want know is where I was born, an what my lousy child hood was like, and how my parents where occupied and all be fore they had me, and all that David Coperfield kind of crap, but I don't feel like going in it, if you want to know the true.


If we're not in a mistake, there are the following nine typos in it:

If you really want to hear about it, the first thing you'll probably want to know is where I was born, and what my lousy childhood was like, and how my parents were occupied and all before they had me, and all that David Copperfield kind of crap, but I don't feel like going into it, if you want to know the truth.

When mutation was proposed more than 30 years ago, the basic idea behind it was the same: to evaluate the quality of test suites as a function of the number of faults detected by the cases in the test suite, when are executed against the SUT. As more faults are detected, higher is the test suite quality.

As well as we have "injected" artificial typos in the original Salinger's text, mutation relies on the insertion of artificial faults in the code of the system under test (the SUT). These artificial faults are inserted by means of "mutation operators", which introduce some kind of syntactic change in the SUT.

In next chapter we'll talk about mutation operators :)

Monday, February 6, 2012

New version

A new version of Bacterio has been released:

http://www.alarcosqualitycenter.com/index.php/news?Itemid=93

News


[FEBRUARY 2012] New version BACTERIO Mutation Test System

logo_bacterio_2 
Alarcos Quality Center has developed with Alarcos Research Group a new versión of the tool (BACTERIO Mutation Test System) with the follow features:

  • Exploratory testing automation.
  • "Mutant schema" implemented.
  • Some types of mutation.
  • Execution time storage.
  • Parallel execution.
  • Equivalent mutants detection assistance.
You can download a demo version here.