Publication
Software testing environment
datacite.subject.fos | Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática | pt_PT |
dc.contributor.advisor | Daniel, Helder | |
dc.contributor.author | Sirbu, Denis | |
dc.date.accessioned | 2017-09-15T17:07:20Z | |
dc.date.available | 2017-09-15T17:07:20Z | |
dc.date.issued | 2016-10-11 | |
dc.date.submitted | 2016 | |
dc.description | Dissertação de mestrado, Engenharia Electrónica e Telecomunicações, Faculdade de Ciências e Tecnologia, Universidade do Algarve, 2016 | |
dc.description.abstract | 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. | pt_PT |
dc.identifier.tid | 201708612 | pt_PT |
dc.identifier.uri | http://hdl.handle.net/10400.1/9961 | |
dc.language.iso | eng | pt_PT |
dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | pt_PT |
dc.subject | Teste de programas automático | pt_PT |
dc.subject | Ambiente distribuído | pt_PT |
dc.subject | Programação orientada a objetos | pt_PT |
dc.subject | Aplicações Web | pt_PT |
dc.subject | Java | pt_PT |
dc.title | Software testing environment | pt_PT |
dc.type | master thesis | |
dspace.entity.type | Publication | |
rcaap.rights | openAccess | pt_PT |
rcaap.type | masterThesis | pt_PT |
thesis.degree.grantor | Universidade do Algarve, Faculdade de Ciências e Tecnologia | |
thesis.degree.level | Mestre | |
thesis.degree.name | Engenharia Electrónica e Telecomunicações | pt_PT |