07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

BluetoothTest<br />

<br />

BluetoothSuite<br />

HCI HCI LNI<br />

p_s<br />

p_m<br />

<br />

Hardware<br />

<br />

Test− p1[4]<br />

Coord<strong>in</strong>ator<br />

LNI<br />

TCI<br />

SRI<br />

p_ap<br />

<br />

Slave−<br />

Application<br />

HCI LNI TCI<br />

p_hw p_co<br />

<br />

Master<br />

Location<br />

DataBase<br />

(a) Test Package<br />

LNI<br />

Bluetooth−<br />

Roam<strong>in</strong>g<br />

Fig. 17.8. Test Package & Test Context<br />

17 UML 2.0 Test<strong>in</strong>g Profile 509<br />

<br />

BluetoothSuite<br />

+ RList: list<br />

− threshold: Integer<br />

− verdict: Verdict<br />

+ Connect_to_Master()<br />

+ Bad_L<strong>in</strong>k_Quality()<br />

+ Good_L<strong>in</strong>k_Quality()<br />

<br />

− TestRoam<strong>in</strong>g_noWarn<strong>in</strong>g(): Verdict<br />

<br />

− TestRoam<strong>in</strong>g_withWarn<strong>in</strong>g(): Verdict<br />

(b) Test Context<br />

In this case study, the follow<strong>in</strong>g functionalities of the Slave Roam<strong>in</strong>g layer<br />

should be tested:<br />

• Is the Slave Roam<strong>in</strong>g layer able to choose a new master by look<strong>in</strong>g up <strong>in</strong> its<br />

roam<strong>in</strong>g list when the connection with its current master gets weak?<br />

• Does the Slave Roam<strong>in</strong>g layer request a connection establishment to the chosen<br />

master?<br />

• Does the Slave Roam<strong>in</strong>g layer wait for a connection confirmation of the master<br />

when the connection has been established?<br />

• Does the Slave Roam<strong>in</strong>g layer send a warn<strong>in</strong>g to the environment, when no<br />

master can be found and the roam<strong>in</strong>g list is empty?<br />

These test objectives assume that basic functionalities of the Slave Roam<strong>in</strong>g layer<br />

like data forward<strong>in</strong>g from the application layer to the hardware layer have already<br />

been tested <strong>in</strong> a preced<strong>in</strong>g capability test.<br />

17.4.3 Test Architecture<br />

First of all, a test package for the test model must be def<strong>in</strong>ed. The test package<br />

is named BluetoothTest (Figure 17.8a). The test package imports the classes and<br />

<strong>in</strong>terfaces from a BluetoothRoam<strong>in</strong>g package <strong>in</strong> order to get access to the classes<br />

to be tested.<br />

In Section 17.4.2, the Slave BTRoam<strong>in</strong>g layer is assigned to SUT and other<br />

system components are assigned to test components. The test package consists<br />

of five test component classes, one utility part and one test context class. only<br />

implicitly specified <strong>in</strong> the test system. triggered by validation actions <strong>in</strong> the<br />

test cases. The test context class is called BluetoothSuite. Itshowsvarioustest<br />

attributes, some test functions and two test cases (Figure 17.8b).<br />

Test configuration and test control are also specified <strong>in</strong> the test context class.<br />

The test configuration (Figure 17.9a) corresponds with the test configuration <strong>in</strong><br />

Figure 17.7, except that it consists of one slave and four masters m1–m4. Ports<br />

with <strong>in</strong>terfaces connect the test components and the SUT to each other.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!