test specification

9
TEST SPECIFICATION REPORT for BRAIN BASED CONCANTRATION ENHANCEMENT SYSTEM MINDER CENG 429 Levent Bayındır 4/24/2011 by MENTALLIGENT Berk ESEROL 1534908 Evin ASLAN 1559921 İrem Gökçe AYDIN 1550268 Üstün YILDIRIM 1629419

Upload: irem-goekce-aydin

Post on 24-Oct-2015

206 views

Category:

Documents


0 download

DESCRIPTION

Graduation Project Test Spec Document

TRANSCRIPT

Page 1: Test Specification

TEST SPECIFICATION

REPORT for

BRAIN BASED

CONCANTRATION

ENHANCEMENT SYSTEM

M I N D E R

C E N G 4 2 9

L e v e n t B a y ı n d ı r

4 / 2 4 / 2 0 1 1

by MENTALLIGENT

Berk ESEROL 1534908

Evin ASLAN 1559921

İrem Gökçe AYDIN 1550268

Üstün YILDIRIM 1629419

Page 2: Test Specification

1

Table of Contents

Page 3: Test Specification

2

1. INTRODUCTION

The BCES project is an Assistant Desktop Application for Doctors to deal with patients

with lack of attention and concentration. This project has to be implemented in a short

period of time. Because the project has different modules, in this short time interval, all of

them should have must be implemented till the end of semester. Thus in the progress of

implementing BCES, each member is working on different modules and engines that are

assigned to him. After members updating the code or adding new features, it is tested about

this feature and when it is ensured about its correctness, he commits this part to SVN

repository. However, testing and debugging process continues to its existence.

1.1. Goals and Objectives

BCES is composed of different modules and each module can be thought of an

independently built process. In order to make all these federates and inter-federate modules

work in a harmony, first of all one should verify duties of modules that are critic for the

performance and verify whether these modules communicate correctly when they are

integrated. Therefore testing is very critical for the project and with being aware of this from

the beginning of the project, many small tests are executed during the development phase

of BCES. Also goals for testing the process of the project are making BCES give the maximum

efficiency and reliablity in:

being bug-free,

effective in applying the aim of enhancement of concentration,

logically correctness,

high performance,

well designed product.

1.2. Statement of Scope A description of the scope of software testing is developed. Functionality/features/behavior to be tested is noted.

This document briefly describes the testing process of BCES project. As in fact the testing

process is continuous from the starting date of the project to the end date, this document

also includes some information about how the testing has been done up till now in the

project. However the main aim and scope of this document is to present the testing plan for

the remaining part of the project in which the implementation is considered to be nearly

complete.

Page 4: Test Specification

3

At this point it is important to emphasize that every detail in our test plan is decided by

considering the specific properties of our project and the major constraints that we have for

testing (i.e. mostly time and reliablity). We tried to develop a testing plan which is adequate

for a ReaTime Feedback Based Project. So this report also denotes testing criteria and testing

approach of Mentalligent. The main feature of the project to be tested is making the

application respond to the users brain functional state more reliable.

1.3. Major Constraints

1.3.1 Data Extraction Latency

Using a “EPOC-Lib” library provided by the company, Minder, we have encountered a

serious latency problem during the implementation. Because the FFT transformations

applied on extracted brainwaves from the device takes a couple of seconds, the delay of the

expected real-time data is increasing continuously. So, we can not visualize the instant

concentration value of the user graphically in real-time. As expected, this situation leads a

feeling of that our application is not showing the real concentration state. In fact,

transformation of the sent data from the BCID should be at maximum rate, be as compact as

possible and correctly deliverable in order to obey with the speed constraints.Thus BCES is

diligently tested for data transfers and the performance of application in certain situation.

To improve this latency problem, we will decide to make changes in the structure of the

library in the supervision of the Minder.

1.3.2 Time

BCES is intended to use for adapting the route of the games in the application

accordingly the concentration status of the user, so it is designed to extract the brainwaves

quickly and reply to the interactions with the user in a rapid manner. So researching for

quicker parts and testing and debugging the project to speed up the application are

important parts of the project. Morevoer, since BCES is a run-time application, to reach the

same state at which the data extracted from the BCID is not corresponding to the state of

the user is time consuming even if we have added a user-based calibration system at the

beggining of the project. There is left nearly 1 month to complete the project, including

removing the bugs found and improving the project. As a result of this, time is the other

greatest constraint for testing of BCES.

1.3.3 Test Results Over Testing Process Power

Amount and method of different test procedures will be decided by this ratio. For

example it is essential to write test codes for unit testing of some modules and their results

will benefit. However, writing of such code also brings both human resource requirement

and time cost. Another example is that, during integration tests the project will be manually

tested by creating various scenarios and their results will be obtained. These result may even

be less useful with respect to other testing procedures. Therefore, the amount of usefulness

of test results per the amount of time it takes and per the amount of human resource

requirement is one of the most important factors limiting the testing of the project.

Page 5: Test Specification

4

1.3.4 Hardware

The architecture of computers used in beta testing should have enough capacity to run

the application. Memory usage, performance of the processor are the other factors limiting

tests of the project. Because in the FFT transformation applied to the raw data extracted

from the BCID use multi-threaded programming way, to handle with the parrallel and

concurent processing the power of the processor is really important. For example, we have

to work on a computer with quad-core instead of dual-core. Because, if we not work on that,

the performance of the application becomes really bad and slow.

1.4. Definitions, Acronyms and Abbreviations

BCID: Brain Computer Interface Device

BCES: Brainwave Based Concentration Enhancing Software

CVS: Current Version System

SVN: Sub-Version System

SWT: Standard Widget Toolkit

FFT: Fast Fourier Transform

User: The person using the software with a BCID

Casual user: The possible end user group for the software.

Database: Collection of all information about the users.

Neurofeedback: Feedback generated by the brain activities of the user.

1.5. References

BCES Software Requirements Specification, by Mentalligent, Fall 2010

http://mentalligent.blogspot.com/2011/03/software-requirement-specifications-for.html

BCES Detailed Design Report, by Mentalligent, Fall 2010

http://mentalligent.blogspot.com/2011/03/software-detailed-description-design.html

Test Specification Template, METU Computer Engineering, Spring 2011

https://cow.ceng.metu.edu.tr/Courses/download_courseFile.php?id=3258

IEEE Standards for Test Design Specification, IEEE Std 828, 1998

http://en.wikipedia.org/wiki/Software_Test_Documentation

2. TEST PLAN This section describes the overall testing strategy and the project management issues that are required to properly execute effective tests.

First of all, in this document whole testing process of BCES is described. In other words, past,

current and future actions about testing procudure of BCES and the reasons of problems

that make testing neccessary are mentioned in this document. Each member of Mentalligent

is responsible from his/her own distributed work. To have a stable development process,

each member actively tests all additional changes that he/she has done in case of any work

to be done. So, testing works are also distributed to each related member.

Page 6: Test Specification

5

2.1. Software To Be Tested

The software to be tested is the BCES itself. More specifically, the modules that creates the

whole system is tested and more importantly the data extraction from the device is tested in

from the beginning of the implementation.

2.2. Testing Strategy

2.2.1. Unit Testing

Unit testing is done for data extraction and modules in BCES.

2.2.1.1 Module Tests

BCES contains 5 modules communicating via Manager component and having their own

classes. Because of having the brain wave data extraction library from the company, for us, it

has been possible in terms of taking time to do function level unit test in each class of each

module. First of all, it requires extra coding to do unit test for data extraction process from

BCID. Priority has been given to some critical functions and classes in EPOC Library that have

critical requirements for their interior processing and easily observable results independent

from other functions or classes. In some unit tests of modules, blackbox method is used. So,

only outputs are checked for having expected values while testing the average Beta

Brainwave values in every 2 seconds. Up to now, unit tests are applied five of the modules

which are GUI module, Game module, Database module, BCID module and of course

Manager module. There is also a Provider class for help to Manager class to establish a

communication between our application and the Game Module via socket programming. So,

unit tests for this module is also has been done. Detailed unit test applications are explained

for each component in the following paragraphs. These paragraphs contain past tests. After

now, unit tests will be written for one remaining modules which are AI component for the

decision of next behaviour of the game. Furthermore, unit tests will be added in case of

upcoming class or function extensions for all components.

Manager module unit tests:

Unit constructors

BCID initializer

GUI initializer

Database initializer

Provider initializer(Thread implementation)

Module functions implementation

BCID module unit tests:

Unit constructors

Manager initializer

EPOC Library implementation(Thread implementation)

Page 7: Test Specification

6

GUI module unit tests:

Unit constructors

Manager initializer

Game initializer

GUI Widgets implementation(Menu Handlers)

Thread implementation for extraction of brainwaves from BCID via Manager

Game module unit test:

Unit constructors

Manager Initializer

Provider Initializer

SWT representation on GUI Browser implementation

Database module unit test:

Unit constructors

Menu handlers

JDBC implementation

2.2.1.2 Data Tests

As TRASTRAPS contains lots of initial data, while preparing _les that contains information

about models and their properties, correctness and properness of all _les were checked so

that those _les contain all information that is necessary to represent a model by having

_delity to reality. For each, unit those values are checked and if they are valid, they were

stored to database. This test will be applied to all future updates on TRASTRAPS.

2.2.2. Integration Testing The integration testing strategy is specified. This section includes a discussion of the order of integration by software function. Test cases are NOT included here.

Because of communication throught the RTI infrastructure, it is essential to do integration

testing while integrating federates to each other. As soon as, a new interaction or a new

object is de_ned to be subscribed or published between federates, an integration test is

applied to check correctness the communication.

2.2.3. Validation Testing The validation testing strategy is specified. This section includes a discussion of the order of validation by software function. Test cases are NOT included here.

2.2.4. High-order Testing The high-order testing strategy is specified. This section includes a discussion of the types of high order tests to be conducted, the responsibility for those tests. Test cases are NOT included here.

Page 8: Test Specification

7

2.3. Test Metrics A description of all test metrics to be used during the testing activity is noted here.

2.4. Testing Tools and Environment A description of the test environment, including tools, simulators, specialized hardware, test files, and other resources is presented here.

3. TEST PROCEDURE This section describes as detailed test procedure including test tactics and test cases for the software.

3.1. Unit Test Cases The procedure for unit testing is described for each software component is presented.

3.2. Integration Testing The integration testing procedure is specified.

3.3. Validation Testing The validation testing procedure is specified.

3.4. High-Order Testing (a.k.a. System Testing) The high-order testing procedure is specified.

4. TESTING RESOURCES AND STAFFING Specialized testing resources are described and staffing is defined.

5. TEST WORK PRODUCTS The work products produced as a consequence of the testing strategy and testing procedure are identified.

6. TEST RECORD KEEPING AND TEST LOG Mechanisms for storing and evaluating test results are specified. The test log is used to maintain a chronological record of all tests and their results.

7. ORGANIZATION AND RESPONSIBILITIES The organization of testing is specified along with the responsibilities of the team members.

Page 9: Test Specification

8

8. TEST SCHEDULE A detailed schedule for unit, integration, and validation testing as well as high order tests is described.