This repository has been archived by the owner on Apr 18, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtesting.html
535 lines (504 loc) · 34.7 KB
/
testing.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="sites/saros-project.org/themes/saros/favicon.ico.html" type="image/vnd.microsoft.icon" />
<link rel="shortlink" href="node/25.html" />
<link rel="canonical" href="testing.html" />
<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
<title>Testing | Saros</title>
<style type="text/css" media="all">
@import url("modules/system/system.base.css");
@import url("modules/system/system.menus.css");
@import url("modules/system/system.messages.css");
@import url("modules/system/system.theme.css");
</style>
<style type="text/css" media="all">
@import url("sites/all/modules/ldap/ldap_user/ldap_user.css");
@import url("modules/book/book.css");
@import url("modules/comment/comment.css");
@import url("modules/field/theme/field.css");
@import url("modules/node/node.css");
@import url("modules/search/search.css");
@import url("sites/all/modules/toc_filter/toc_filter.css");
@import url("modules/user/user.css");
@import url("modules/forum/forum.css");
</style>
<style type="text/css" media="all">
@import url("sites/all/modules/ctools/css/ctools.css");
@import url("sites/all/modules/ldap/ldap_servers/ldap_servers.admin.css");
</style>
<style type="text/css" media="all">
@import url("sites/saros-project.org/themes/touch/style.css");
@import url("sites/saros-project.org/themes/saros/saros_style.css");
</style>
<script type="text/javascript" src="misc/jquery.js%3Fv=1.4.4.html"></script>
<script type="text/javascript" src="misc/jquery.once.js%3Fv=1.2.html"></script>
<script type="text/javascript" src="misc/drupal.js%3Fp9abym.html"></script>
<script type="text/javascript" src="sites/all/modules/toc_filter/toc_filter.js%3Fp9abym.html"></script>
<script type="text/javascript" src="sites/saros-project.org/themes/touch/js/scrolltopcontrol.js%3Fp9abym.html"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"saros","theme_token":"uCFEYUK-0TfaIHxBtNalmm8GkfA4kqWxhjVpprirxEg","js":{"misc\/jquery.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"sites\/all\/modules\/toc_filter\/toc_filter.js":1,"sites\/saros-project.org\/themes\/touch\/js\/scrolltopcontrol.js":1},"css":{"modules\/system\/system.base.css":1,"modules\/system\/system.menus.css":1,"modules\/system\/system.messages.css":1,"modules\/system\/system.theme.css":1,"sites\/all\/modules\/ldap\/ldap_user\/ldap_user.css":1,"modules\/book\/book.css":1,"modules\/comment\/comment.css":1,"modules\/field\/theme\/field.css":1,"modules\/node\/node.css":1,"modules\/search\/search.css":1,"sites\/all\/modules\/toc_filter\/toc_filter.css":1,"modules\/user\/user.css":1,"modules\/forum\/forum.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"sites\/all\/modules\/ldap\/ldap_servers\/ldap_servers.admin.css":1,"sites\/saros-project.org\/themes\/touch\/style.css":1,"sites\/saros-project.org\/themes\/saros\/saros_style.css":1}},"toc_filter_smooth_scroll_duration":"","urlIsAjaxTrusted":{"\/testing":true}});
//--><!]]>
</script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body class="html not-front not-logged-in one-sidebar sidebar-first page-node page-node- page-node-25 node-type-page" >
<div id="wrapper" class="clearfix">
<div id="header-top" class="clearfix">
<div id="logo"><!--start logo-->
<a id="site_name_link" href="index.html" title="Home">
<img src="sites/saros-project.org/files/saros-logo-100x100.png" alt="Home" />
</a>
<div id="name_slogan">
<a id="site-name" href="index.html" title="Home" rel="home"><span>Saros</span></a>
<br/>
<a id="site-slogan" id="site-name" href="index.html" title="Home" rel="home"><span>Distributed Party Programming</span></a>
</div><!--end name_slogan-->
<!--div id="site-slogan">Distributed Party Programming</div><!--site slogan-->
</div><!--end logo-->
<!-- / start search box region -->
<div class="search-box">
<div class="region region-search-box">
<div id="block-search-form" class="block block-search">
<div class="content">
<form action="testing.html" method="post" id="search-block-form" accept-charset="UTF-8"><div><div class="container-inline">
<h2 class="element-invisible">Search form</h2>
<div class="form-item form-type-textfield form-item-search-block-form">
<label class="element-invisible" for="edit-search-block-form--2">Search </label>
<input title="Enter the terms you wish to search for." type="text" id="edit-search-block-form--2" name="search_block_form" value="" size="15" maxlength="128" class="form-text" />
</div>
<div class="form-actions form-wrapper" id="edit-actions"><input type="submit" id="edit-submit" name="op" value="Search" class="form-submit" /></div><input type="hidden" name="form_build_id" value="form-hPshIaoplXuA1Es5BbMeixg7T4l8X1K_nBAtUgBwFMw" />
<input type="hidden" name="form_id" value="search_block_form" />
</div>
</div></form> </div>
</div> <!-- /.block -->
</div>
<!-- /.region -->
</div> <!-- / end search box region -->
</div><!--end header-top-->
<div id="header" class="clearfix"><!--start header-->
<div id="main-menu">
<ul class="menu"><li class="first leaf"><a href="home.html" title="Frontpage">Home</a></li>
<li class="expanded"><a href="node/66.html">About Saros</a><ul class="menu"><li class="first leaf"><a href="features.html" title="List of Saros features">Features</a></li>
<li class="leaf"><a href="screenshots.html" title="Get impressions with screenshots">Screenshots</a></li>
<li class="leaf"><a href="host-comic.html">Saros Host Comic</a></li>
<li class="leaf"><a href="what-others-say.html" title="Information about where Saros has been mentioned">What others say</a></li>
<li class="last leaf"><a href="history.html" title="Development history and people involved">History</a></li>
</ul></li>
<li class="expanded"><a href="setup.html" title="Learn how to use Saros">Installation & Set-Up</a><ul class="menu"><li class="first expanded"><a href="installation.html" title="Installing Saros in Eclipse">Install Saros</a><ul class="menu"><li class="first last leaf"><a href="setupXMPP.html" title="Setup your own XMPP Server (Advanced Users)">Setup own XMPP Server</a></li>
</ul></li>
<li class="last leaf"><a href="GettingStarted.html">Getting Started with Saros</a></li>
</ul></li>
<li class="expanded"><a href="support_home.html">Support</a><ul class="menu"><li class="first leaf"><a href="mailing-list-chat.html" title="Information on how to reach the Saros team via mailing lists">Mailing Lists</a></li>
<li class="leaf"><a href="troubleshooting.html" title="Known problems when using Saros">Troubleshooting</a></li>
<li class="leaf"><a href="faq.html" title="Frequently asked questions">Saros FAQ</a></li>
<li class="leaf"><a href="compatibility.html">Plugin Compatibility</a></li>
<li class="last leaf"><a href="feedback.html" title="Information about the feature feedback">User Survey & Statistics</a></li>
</ul></li>
<li class="expanded active-trail"><a href="getinvolved.html" title="Learn how to develop on Saros" class="active-trail">Develop on Saros</a><ul class="menu"><li class="first expanded"><a href="checkout-and-first-steps.html">Check-Out and First Steps</a><ul class="menu"><li class="first expanded"><a href="setup-dev-environment.html">Set up development environment</a><ul class="menu"><li class="first leaf"><a href="dev-environment-reqs.html">Environment Requirements</a></li>
<li class="leaf"><a href="install-subclipse.html">Install Subclipse for building Saros/E</a></li>
<li class="leaf"><a href="install-egit.html">Install EGit</a></li>
<li class="leaf"><a href="our-dev-workflow.html">Our workflow</a></li>
<li class="leaf"><a href="gerrit-login.html">Log in to Gerrit</a></li>
<li class="leaf"><a href="eclipse-setup-git.html">Setting your name and email address for using Gerrit</a></li>
<li class="leaf"><a href="eclipse-setup-ssh.html">Create and configure an SSH key for using Gerrit</a></li>
<li class="leaf"><a href="get-source-code.html">Get Saros source code</a></li>
<li class="leaf"><a href="import-code-style-profiles.html">Import code style profiles</a></li>
<li class="last leaf"><a href="run-saros-as-dev.html">Run your Saros</a></li>
</ul></li>
<li class="last expanded"><a href="make-first-change.html">Making changes to Saros</a><ul class="menu"><li class="first leaf"><a href="node/124.html">Create a new local branch</a></li>
<li class="leaf"><a href="node/125.html">Doing your first change</a></li>
<li class="leaf"><a href="commit-and-push-first-change.html">Commit and push your change</a></li>
<li class="last leaf"><a href="node/127.html">Abandon your change in Gerrit</a></li>
</ul></li>
</ul></li>
<li class="collapsed"><a href="ongoing-work.html">Ongoing Work</a></li>
<li class="expanded"><a href="guidelines.html">Guidelines</a><ul class="menu"><li class="first leaf"><a href="contribution.html">Contribution Rules</a></li>
<li class="collapsed"><a href="coderules.1.html" title="Coding Guidelines and Rules">Coding Conventions</a></li>
<li class="leaf"><a href="usability.html" title="Guidelines to ensure Usability">Usability Guidelines</a></li>
<li class="leaf"><a href="TicketGuidelines.html">Ticket Guidelines</a></li>
<li class="last leaf"><a href="ci-rules.html">Jenkins Rules</a></li>
</ul></li>
<li class="collapsed"><a href="tools.html">Tools</a></li>
<li class="expanded active-trail"><a href="processes.html" title="Processes in Saros" class="active-trail">Processes</a><ul class="menu"><li class="first leaf"><a href="review.html" title="Information about the review process">Review</a></li>
<li class="leaf"><a href="ReleaseProcess.html" title="Our Release Process">Release</a></li>
<li class="expanded active-trail"><a href="testing.html" title="Information about the testing process" class="active-trail active">Testing</a><ul class="menu"><li class="first last leaf"><a href="jenkins.html">Jenkins and Saros</a></li>
</ul></li>
<li class="leaf"><a href="bugtracker.html" title="Watch the bug tracker">Bug Tracking</a></li>
<li class="last leaf"><a href="documentation.html" title="Information about the documentation process">Documentation</a></li>
</ul></li>
<li class="leaf"><a href="mailingslists.html">Mailinglists</a></li>
<li class="leaf"><a href="https://sourceforge.net/p/dpp/bugs/" title="">Bug Tracker</a></li>
<li class="leaf"><a href="https://sourceforge.net/projects/dpp/" title="Visit Saros at Sourceforge">Saros@Sourceforge</a></li>
<li class="collapsed"><a href="gsoc.1.html">Google Summer of Code</a></li>
<li class="last expanded"><a href="node/129.html">FAQ in daily practice</a><ul class="menu"><li class="first leaf"><a href="node/132.html" title="A change was integrated to master. How can I update my local code?">Update local code to master</a></li>
<li class="leaf"><a href="node/130.html" title="I messed up my local copy of Saros. How can I reset/clean up/revert my changes?">Revert local changes</a></li>
<li class="leaf"><a href="upload-new-patch-set.html" title="Someone discovered an error/failure/typo. How can I upload a new patch set?">Upload a new patch set</a></li>
<li class="leaf"><a href="node/133.html" title="My build failed. What's wrong with my change?">Building in Gerrit failed!</a></li>
<li class="leaf"><a href="gerrit-checkout-patch.html" title="Someone uploaded a change to Gerrit. How can I test this change?">Get & run someones change</a></li>
<li class="leaf"><a href="node/145.html" title="What is a Change? Patch set? Submit?">Change? Patch set? Submit?</a></li>
<li class="leaf"><a href="gerrit-groups-and-permissions.html" title="Which permissions do I have?">Check Gerrit permissions</a></li>
<li class="leaf"><a href="node/142.html" title="How to delete an unwanted local branch in EGit?">Delete local branch</a></li>
<li class="leaf"><a href="node/136.html">Duplicate Location Error</a></li>
<li class="leaf"><a href="gerrit-review.html" title="Someone wants that I review a change. How to review a change?">Review a change</a></li>
<li class="leaf"><a href="node/140.html" title="How to run Saros STF tests locally?">Run STF tests locally</a></li>
<li class="leaf"><a href="node/139.html" title="I ran an STF test (located in test/stf) and get an error! What's wrong?">STF tests fail</a></li>
<li class="leaf"><a href="node/138.html" title="How to set up Saros for running local STF tests?">Set up STF tests</a></li>
<li class="leaf"><a href="node/144.html" title="I want automate my testing process. How to write my own STF tests?">Write STF tests</a></li>
<li class="last leaf"><a href="git-recipes.html">Git use-cases</a></li>
</ul></li>
</ul></li>
<li class="expanded"><a href="techdoc.html" title="Technical Documentation">Technical Documentation</a><ul class="menu"><li class="first leaf"><a href="architectureDocumentation.html">Architecture Documentation</a></li>
<li class="leaf"><a href="specoverview.html">Overview</a></li>
<li class="leaf"><a href="concurrency.html" title="Information about Concurrency">Concurrency</a></li>
<li class="leaf"><a href="eclipsebridge.html">Eclipse Bridge</a></li>
<li class="leaf"><a href="packageFeedback.html" title="Information about the feedback feature">Feedback</a></li>
<li class="leaf"><a href="invitation.html" title="Information about invitation">Invitation</a></li>
<li class="leaf"><a href="networklayer.html" title="Information about the network layer">Network Layer</a></li>
<li class="expanded"><a href="sharedsession.html" title="Information about shared session">Shared Session</a><ul class="menu"><li class="first last leaf"><a href="activities.html" title="Information about activities">Activities</a></li>
</ul></li>
<li class="last leaf"><a href="ui.html" title="Information about user interface">User Interface</a></li>
</ul></li>
<li class="expanded"><a href="research.html" title="Research">Research</a><ul class="menu"><li class="first leaf"><a href="bibliography.html" title="Saros related literature">Bibliography</a></li>
<li class="last leaf"><a href="relatedwork.html">Related Work</a></li>
</ul></li>
<li class="last leaf"><a href="contact.html">Contact</a></li>
</ul></div><!-- end main-menu -->
</div> <!-- /#header -->
<div id="content-body">
<div class="breadcrumb"><h2 class="element-invisible">You are here</h2><nav class="breadcrumb"><a href="index.html">Home</a> » <a href="getinvolved.html" title="Learn how to develop on Saros">Develop on Saros</a> » <a href="processes.html" title="Processes in Saros">Processes</a> » Testing</nav></div>
<section id="main" role="main" class="clear">
<a id="main-content"></a>
<h1 class="title" id="page-title">Testing</h1> <div class="region region-content">
<div id="block-system-main" class="block block-system">
<div class="content">
<span property="dc:title" content="Testing" class="rdf-meta element-hidden"></span><span property="sioc:num_replies" content="0" datatype="xsd:integer" class="rdf-meta element-hidden"></span>
<div class="content">
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><div>Here you can find out more about our test processes.</div>
<div> </div>
<div>
<ul><li>
<div><a href="testing.html#How_to_run_a_manual_test">How to run a manual test</a></div>
<ul><li>
<div><a href="testing.html#Roles">Roles</a></div>
</li>
<li>
<div><a href="testing.html#Before%20the%20test">Before the test</a></div>
</li>
<li>
<div><a href="testing.html#Setting%20up/Running%20the%20test"><span style="font-size:12px;">Setting up/Running the test</span></a></div>
</li>
<li>
<div><a href="testing.html#Creating%20a%20Test%20Plan%20at%20the%20TestLink%20home%20page"><span style="font-size: 12px; ">Creating a Test Plan at the TestLink</span><span style="font-size: 12px; "> home page</span></a></div>
</li>
<li>
<div><a href="testing.html#After%20the%20test"><span style="font-size: 12px; ">After the test</span></a></div>
</li>
</ul></li>
<li>
<div><a href="testing.html#How_to_run_saros_STF_tests_local">How to run saros STF tests locally?</a></div>
<ul><li>
<div>
<div><a href="testing.html#Starting%20Saros%20in%20test%20mode">Starting Saros in test mode</a></div>
</div>
</li>
</ul></li>
<li>
<div><a href="testing.html#How_to_write_Saros_STF_tests_loc">How to write Saros STF tests locally?</a></div>
</li>
<li>
<div><a href="testing.html#How_to_run_the_JUnit_test_cases">How to run the JUnit test cases</a></div>
</li>
<li>
<div><a href="testing.html#How_to_run_test_coverage_analysi">How to run test coverage analysis locally</a></div>
</li>
<li>
<div><a href="testing.html#Jenkins_Our_Continuous_Integrati">Jenkins - Our Continuous Integration System</a></div>
</li>
</ul></div>
<div>
<hr /></div>
<h2><a name="How_to_run_a_manual_test" id="How_to_run_a_manual_test"></a>How to run a manual test</h2>
<div>Since Saros includes many aspects that are hard to test automatically we have <strong>created a test suite</strong> which we execute manually before each <a href="./w/SE/DPPReleaseProcess#HowToRelease">release</a>. The manual tests are stored in a TestLink database kept <a href="http://saros-build.imp.fu-berlin.de/testlink/" target="_top">here</a>.</div>
<h3><a name="Roles" id="Roles"></a>Roles</h3>
<ul><li>
<div>TM = Test Manager, the person in charge and responsible to the team leaders</div>
</li>
<li>
<div>ATM = Assistant Test Manager who supports the TM</div>
</li>
<li>
<div>those with release management roles should be<strong> prepared to assist as third/fourth participants</strong> in manual testing</div>
<ul><li>
<div>If there is an experienced user and a newbie, it as proven to be best if the<strong> newbie takes the role of the TM</strong> and the <strong>experienced user is the ATM</strong>. Otherwise the experienced user often does things too fast and the newbie does not learn as much as s/he could.</div>
</li>
</ul></li>
</ul><h3><a name="Before the test" id="Before the test"></a>Before the test</h3>
<ol><li>
<div>Update the test suite</div>
<ul style=""><li>
<div>Generate a changelog (should be sent to the release manager afterwards) and <strong>identify all features and fixes</strong> which were added since the last release and make sure that all test cases exist</div>
</li>
<li>
<div>Check the <a href="https://sourceforge.net/tracker2/?group_id=167540&atid=843359" target="_top">bug tracker</a> for bugs that are open but<strong> in the status fixed</strong> and make sure that they exist in the list of bugs covered by at least one test case</div>
</li>
<li>
<div>Spend a <strong>little time</strong> to improve the test suite</div>
</li>
<li>
<div><strong>Ask for test-cases</strong> from developers on the mailing-list</div>
</li>
<li>
<div>Tests can be added at the TestLink home page via "Edit Test Cases"</div>
</li>
</ul></li>
<li>
<div>Talk to the Release Manager to create a branch</div>
<ul style=""><li>
<div>Release Version should be <strong>set by the Release Manager</strong></div>
</li>
<li>
<div>Switch to this branch</div>
</li>
</ul></li>
<li>
<div>Setting up Eclipse</div>
<ul style=""><li>
<div>Use a <strong>clean runtime</strong> workspace with <strong>assertions enabled</strong></div>
</li>
<li>
<div>Make sure that Log4J Logs are <strong>printed to a known location</strong></div>
</li>
<li>
<div>Make sure that the runtime workspace is run <strong>using the branch</strong></div>
</li>
</ul></li>
</ol><h3><a name="Setting up/Running the test" id="Setting up/Running the test"></a>Setting up/Running the test</h3>
<ol><li>
<div>Since the test suite is large, a <strong>suitable subset</strong> needs to be selected before the test</div>
</li>
<li>
<div>Coordinate for each test whether you will <strong>perform it together or separately</strong></div>
</li>
<li>
<div>Try to <strong>restrict discussion</strong> about reasons for failures to a minimum</div>
</li>
</ol><div><span _fck_bookmark="1" style="display: none; "> </span></div>
<h3><a name="Creating a Test Plan at the TestLink home page" id="Creating a Test Plan at the TestLink home page"></a>Creating a Test Plan at the TestLink home page</h3>
<ol><li>
<div>Go to "<em>Test Plan Management</em>" and click on the <strong>create button</strong> (name it)</div>
</li>
<li>
<div>Go to "<em>Builds / Releases</em>" and <strong>create a new build </strong>(single)</div>
</li>
<li>
<div>Go to "<em>Add / Remove Test Cases</em>". Choose the test cases you identified earlier.</div>
</li>
</ol><h3><a name="After the test" id="After the test"></a>After the test</h3>
<ol><li>
<div>All test participants <strong>store their log files</strong> <a href="https://svn.mi.fu-berlin.de/agse/sci/dpp/testing/logs/">in Subversion</a> and send an email to the list telling the others that they have done so</div>
<ul style=""><li>
<div>Alternatively if log files are small: Test participants <strong>send their logs</strong> to the list for the TM to upload to SVN</div>
</li>
</ul></li>
<li>
<div>All test participants search their log files for "<em>FATAL</em>", "<em>ERROR</em>" and "<em>WARN</em>". All of these should be <strong>collected into an email</strong> to be sent to the mailing-list. This should be done <strong>no later than 4pm</strong> on the test day.</div>
</li>
<li>
<div>The TM and ATM <strong>review the issues together</strong> and <strong>compile a list of critical bugs</strong> for the release and post this list to the mailing-list (critical bugs must be posted on the testday by 6pm, non-critical issues no later than one day later at 9am).</div>
</li>
<li>
<div>Next they <strong>extract the new bugs, prioritize, assign and add them</strong> to the bug-tracker.</div>
<ul style=""><li>
<div>The TM should then <strong>send an email to the team</strong> with a list of these new bugs. The technical team leader will then<strong> review them</strong>, <strong>correct </strong>the priorities and <strong>assign </strong>bugs if not already done. This should be done <strong>before friday morning</strong> so people can start working on these issues right away.</div>
</li>
</ul></li>
<li>
<div>The TM <strong>closes the fixed bugs</strong> in the bug tracker and puts their occurrence in a test case into a section called "<em>Fixed bugs</em>". Bugs should not be removed from test cases, because regressions will be much easier to catch.</div>
</li>
</ol><h2><a name="How_to_run_saros_STF_tests_local" id="How_to_run_saros_STF_tests_local"></a>How to run saros STF tests locally?</h2>
<div>Before you can start any STF test case you need to create a configuration file. You have to create the file <em>configuration.properties</em> in the package <em>de.fu_berlin.inf.dpp.stf.client</em> (Sourcefolder: <em>test/framework/stf/src</em>)</div>
<div>Add these lines to it (make sure every tester has an unique JID):</div>
<div> </div>
<div><code>ALICE_JID = <insert user here>@saros-con.imp.fu-berlin.de/Saros<br />ALICE_PASSWORD = <insert password here><br />ALICE_HOST = localhost<br />ALICE_PORT = 12345<br /><br />BOB_JID = <insert user here>@saros-con.imp.fu-berlin.de/Saros<br />BOB_PASSWORD = <insert password here><br />BOB_HOST = localhost<br />BOB_PORT = 12346<br /><br />CARL_JID = <insert user here>@saros-con.imp.fu-berlin.de/Saros<br />CARL_PASSWORD = <insert password here><br />CARL_HOST = localhost<br />CARL_PORT = 12347<br /><br />DAVE_JID = <insert user here>@saros-con.imp.fu-berlin.de/Saros<br />DAVE_PASSWORD = <insert password here><br />DAVE_HOST = localhost<br />DAVE_PORT = 12348</code></div>
<div> </div>
<div>STF Tests are <strong>specialized JUnit tests</strong> which communicate with the STF Server component of Saros. To start up the STF Server, Saros has to run in test mode.</div>
<h3><a name="Starting Saros in test mode" id="Starting Saros in test mode"></a>Starting Saros in test mode</h3>
<ul><li>
<div>Make sure your <strong>local Saros project</strong> has the name "Saros".</div>
</li>
<li>
<div>Start <strong>one of the launch configurations</strong> which are located in the directory <em>[Saros]/test/resources/launch</em>. You only need to run the appropriate launch file(s). You can also <strong>just open</strong> the <em>plugin.xml</em> file and in the tab "<em>Overview</em>" just click on: Launch this application. You will get a list of all <strong>available launch configurations</strong>.</div>
<ul><li>
<div>e.g. the test "<em>AccountPreferenceTest</em>" in the package "<em>de.fu_berlin.inf.dpp.stf.test.account</em>" only needs the tester "<em>ALICE</em>". In this case you <strong>only need to run</strong> <em>Saros_STF_Alice.launch</em>.</div>
</li>
<li>
<div>To run the suite "<em>StfTestSuite</em>" you must start all testers (<em>ALICE, BOB, CARL, DAVE</em>).</div>
</li>
</ul></li>
<li>
<div>You can <strong>run a test suite</strong> or a <strong>single test case</strong> by right clicking on the class and select: <em>Run As -> JUnit Test</em>.</div>
<ul><li>
<div>All STF tests are <strong>located in package</strong> "<em>de.fu_berlin.inf.dpp.stf.test</em>".</div>
</li>
</ul></li>
</ul><h2><a name="How_to_write_Saros_STF_tests_loc" id="How_to_write_Saros_STF_tests_loc"></a>How to write Saros STF tests locally?</h2>
<ul><li>
<div>start the required testers</div>
</li>
<li>
<div>create a test case</div>
</li>
<li>
<div>execute the test case</div>
</li>
<li>
<div>rewrite until the test case passes</div>
</li>
<li>
<div>see the <a href="http://www.mi.fu-berlin.de/wiki/pub/SE/DPPTesting/STF_Manual_v2.pdf" target="_top">STF User's Manual</a></div>
</li>
</ul><h2><a name="How_to_run_the_JUnit_test_cases" id="How_to_run_the_JUnit_test_cases"></a>How to run the JUnit test cases</h2>
<ul><li>
<div>Our test cases <strong>are located</strong> in the Saros projects <em>test/junit</em> folder</div>
</li>
<li>
<div>For releases, run AllTestsSuite (<em>Run As -> JUnit Test</em>).</div>
</li>
<li>
<div>You can either <strong>run a single test case</strong>, a <strong>group</strong>, or all of them by right-clicking a file, a <strong>package </strong>or the <strong>whole folder</strong> and selecting:</div>
<ul><li>
<div><em>Run As > JUnit Test</em></div>
</li>
</ul></li>
<li>
<div>A test configuration which you can edit in the <em>Run Configurations</em> menu <strong>is automatically created</strong>, and the selected tests are executed. Therefore a runtime workbench is launched.</div>
</li>
<li>
<div>The JUnit view shows the test results</div>
</li>
</ul><h2><a name="How_to_run_test_coverage_analysi" id="How_to_run_test_coverage_analysi"></a>How to run test coverage analysis locally</h2>
<ul><li>
<div>Either install <a href="http://ecobertura.johoop.de/">Cobertura Plugin</a> or <a href="http://www.eclemma.org/">Emma Plugin</a></div>
</li>
<li>
<div>Then right-click on a Junit Test and select <em>Cover as</em> <em>(Cobertura)</em> or <em>Coverage as (Emma) -> JUnit Test</em></div>
</li>
</ul><ul><li>
<div>Guidelines for your Whitebox-Test. The class that is under test <strong>should have</strong> at least:</div>
<ul><li>
<div>100% C0 Coverage (Line Coverage)</div>
</li>
<li>
<div>80% C1 Coverage (Branch Coverage), please keep in mind that Emma does not support this</div>
</li>
</ul></li>
</ul><ul><li>
<div>Sometimes there is no chance to reach 100% C0 coverage This can occur if you have something like this:</div>
</li>
</ul><div> </div>
<div><code>public void foo()<br />{<br /> if (x.equals(y))<br /> {<br /> bar () //always throws an unchecked exception, so this line cannot be included in coverage<br /> }<br />}</code></div>
<h2><a name="Jenkins_Our_Continuous_Integrati" id="Jenkins_Our_Continuous_Integrati"></a>Jenkins - Our Continuous Integration System</h2>
<div>
<div><a href="jenkins.html">Jekins - How to Maintain Continuous Integration for Saros</a></div>
</div>
</div></div></div> </div>
<footer>
</footer>
</div>
</div> <!-- /.block -->
</div>
<!-- /.region -->
</section> <!-- /#main -->
<aside id="sidebar-first" role="complementary" class="sidebar clearfix">
<div class="region region-sidebar-first">
<div id="block-menu-block-1" class="block block-menu-block">
<h2 >Develop on Saros</h2>
<div class="content">
<div class="menu-block-wrapper menu-block-1 menu-name-main-menu parent-mlid-0 menu-level-2">
<ul class="menu"><li class="first expanded menu-mlid-572"><a href="checkout-and-first-steps.html">Check-Out and First Steps</a><ul class="menu"><li class="first leaf has-children menu-mlid-574"><a href="setup-dev-environment.html">Set up development environment</a></li>
<li class="last leaf has-children menu-mlid-592"><a href="make-first-change.html">Making changes to Saros</a></li>
</ul></li>
<li class="expanded menu-mlid-916"><a href="ongoing-work.html">Ongoing Work</a><ul class="menu"><li class="first leaf has-children menu-mlid-694"><a href="saros-for-intellij.html">Saros for IntelliJ</a></li>
<li class="leaf menu-mlid-872"><a href="html-gui.html">Saros HTML GUI</a></li>
<li class="leaf menu-mlid-917"><a href="build-server-migration.html">Build Server Migration</a></li>
<li class="leaf menu-mlid-936"><a href="stf-cross-ide.html">STF across IDEs</a></li>
<li class="last leaf has-children menu-mlid-924"><a href="saros-for-netbeans.html">Saros for Netbeans</a></li>
</ul></li>
<li class="expanded menu-mlid-374"><a href="guidelines.html">Guidelines</a><ul class="menu"><li class="first leaf menu-mlid-375"><a href="contribution.html">Contribution Rules</a></li>
<li class="leaf has-children menu-mlid-432"><a href="coderules.1.html" title="Coding Guidelines and Rules">Coding Conventions</a></li>
<li class="leaf menu-mlid-343"><a href="usability.html" title="Guidelines to ensure Usability">Usability Guidelines</a></li>
<li class="leaf menu-mlid-433"><a href="TicketGuidelines.html">Ticket Guidelines</a></li>
<li class="last leaf menu-mlid-692"><a href="ci-rules.html">Jenkins Rules</a></li>
</ul></li>
<li class="expanded menu-mlid-931"><a href="tools.html">Tools</a><ul class="menu"><li class="first leaf menu-mlid-357"><a href="jtourbus.html" title="Get involved with JTourBus">JTourBus</a></li>
<li class="leaf menu-mlid-932"><a href="archnemesis.html">Archnemesis</a></li>
<li class="leaf menu-mlid-934"><a href="sia.html">Sia</a></li>
<li class="last leaf menu-mlid-933"><a href="sonarqube-gerrit-bridge.html">SonarQube-Gerrit-Bridge</a></li>
</ul></li>
<li class="expanded active-trail menu-mlid-341"><a href="processes.html" title="Processes in Saros" class="active-trail">Processes</a><ul class="menu"><li class="first leaf menu-mlid-351"><a href="review.html" title="Information about the review process">Review</a></li>
<li class="leaf menu-mlid-352"><a href="ReleaseProcess.html" title="Our Release Process">Release</a></li>
<li class="leaf has-children active-trail active menu-mlid-353"><a href="testing.html" title="Information about the testing process" class="active-trail active">Testing</a></li>
<li class="leaf menu-mlid-356"><a href="bugtracker.html" title="Watch the bug tracker">Bug Tracking</a></li>
<li class="last leaf menu-mlid-354"><a href="documentation.html" title="Information about the documentation process">Documentation</a></li>
</ul></li>
<li class="leaf menu-mlid-430"><a href="mailingslists.html">Mailinglists</a></li>
<li class="leaf menu-mlid-388"><a href="https://sourceforge.net/p/dpp/bugs/" title="">Bug Tracker</a></li>
<li class="leaf menu-mlid-335"><a href="https://sourceforge.net/projects/dpp/" title="Visit Saros at Sourceforge">Saros@Sourceforge</a></li>
<li class="expanded menu-mlid-915"><a href="gsoc.1.html">Google Summer of Code</a><ul class="menu"><li class="first last leaf menu-mlid-832"><a href="gsoc/2015/ideas.html">2015 - Ideas</a></li>
</ul></li>
<li class="last expanded menu-mlid-615"><a href="node/129.html">FAQ in daily practice</a><ul class="menu"><li class="first leaf menu-mlid-610"><a href="node/132.html" title="A change was integrated to master. How can I update my local code?">Update local code to master</a></li>
<li class="leaf menu-mlid-606"><a href="node/130.html" title="I messed up my local copy of Saros. How can I reset/clean up/revert my changes?">Revert local changes</a></li>
<li class="leaf menu-mlid-614"><a href="upload-new-patch-set.html" title="Someone discovered an error/failure/typo. How can I upload a new patch set?">Upload a new patch set</a></li>
<li class="leaf menu-mlid-612"><a href="node/133.html" title="My build failed. What's wrong with my change?">Building in Gerrit failed!</a></li>
<li class="leaf menu-mlid-608"><a href="gerrit-checkout-patch.html" title="Someone uploaded a change to Gerrit. How can I test this change?">Get & run someones change</a></li>
<li class="leaf menu-mlid-678"><a href="node/145.html" title="What is a Change? Patch set? Submit?">Change? Patch set? Submit?</a></li>
<li class="leaf menu-mlid-670"><a href="gerrit-groups-and-permissions.html" title="Which permissions do I have?">Check Gerrit permissions</a></li>
<li class="leaf menu-mlid-672"><a href="node/142.html" title="How to delete an unwanted local branch in EGit?">Delete local branch</a></li>
<li class="leaf menu-mlid-674"><a href="node/136.html">Duplicate Location Error</a></li>
<li class="leaf menu-mlid-630"><a href="gerrit-review.html" title="Someone wants that I review a change. How to review a change?">Review a change</a></li>
<li class="leaf menu-mlid-668"><a href="node/140.html" title="How to run Saros STF tests locally?">Run STF tests locally</a></li>
<li class="leaf menu-mlid-666"><a href="node/139.html" title="I ran an STF test (located in test/stf) and get an error! What's wrong?">STF tests fail</a></li>
<li class="leaf menu-mlid-664"><a href="node/138.html" title="How to set up Saros for running local STF tests?">Set up STF tests</a></li>
<li class="leaf menu-mlid-676"><a href="node/144.html" title="I want automate my testing process. How to write my own STF tests?">Write STF tests</a></li>
<li class="last leaf menu-mlid-874"><a href="git-recipes.html">Git use-cases</a></li>
</ul></li>
</ul></div>
</div>
</div> <!-- /.block -->
</div>
<!-- /.region -->
</aside> <!-- /#sidebar-first -->
</div> <!-- end content-body -->
<div class="clear"></div>
<div id="footer" class="clearfix">
<div class="clear"></div>
<div class="region region-footer">
<div id="block-block-2" class="block block-block">
<div class="content">
<p><a href="http://www.mi.fu-berlin.de/fb/impressum/" target="_blank">Impressum</a> — <a href="index.html%3Fq=user.html">Internal login</a></p>
</div>
</div> <!-- /.block -->
</div>
<!-- /.region -->
<div class="clear"></div>
<div id="copyright">Copyright © 2019, Saros</div>
</div> <!-- /#footer -->
</div> <!-- /#wrapper -->
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
<!--//--><![CDATA[// ><!--
jQuery(document).ready( function($) {
$( ".known-issue-box" ).accordion({
active: false,
heightStyle: "content",
collapsible: true
});
$( ".known-issue-box" ).css( "visibility", "visible" ); });
//--><!]]>
</script> </body>
</html>