Repository logo
 
Loading...
Thumbnail Image
Publication

Software testing environment

Use this identifier to reference this record.
Name:Description:Size:Format: 
software-testing-environment.pdf1.86 MBAdobe PDF Download

Abstract(s)

In this thesis it is proposed a distributed software testing environment, that is able to test a wide variety of applications, such as a user space processes, kernel space processes, web applications and others. The testing environment is supported by an API of probes, where each probe has a specific test task according to its purpose. The base API can be extended to fulfil new testing requirements. This environment can be applied to general software testing, programming contests and as a support for programming classes as the Mooshak automatic judging environment. The essential differences between both these environments is where the software testing is performed. Unlike Mooshak, the proposed test environment can use client computers to do the actual test. This reduces the overhead on the server dramatically, which is especially useful when there are many test submissions simultaneously. These are the cases of classroom environments, lab environments or programming contests. Another option is to have a set of testing computers, or slaves, ready to test user code. However this way more hardware is required. The only requirements for a computer to be a slave, part of the testing environment, is that is has installed a java client application that communicates with the master computer also addressed here as the main server. On the main server a portal allows users to access this testing environment. This master computer is also responsible to distribute the testing workload, according to the choosen strategy, sending to each slave the executable and testing probes, which includes the matching pairs of inputs and expected outputs. After the slaves had performed the tests, they generate a report with information on the tests, and send it back to the master, being available to the users on the portal. To support simultaneous clients the portal is thread based, being launched a new thread to serve each new client connection. Communication between all computers in the test environment, is done using the BSD sockets API.

Description

Dissertação de mestrado, Engenharia Electrónica e Telecomunicações, Faculdade de Ciências e Tecnologia, Universidade do Algarve, 2016

Keywords

Teste de programas automático Ambiente distribuído Programação orientada a objetos Aplicações Web Java

Pedagogical Context

Citation

Research Projects

Organizational Units

Journal Issue

Publisher

CC License