Testerstellungskosten weiter reduzierbar
Im Rahmen der ESSI-Initiative wurde von der Europäischen Union 1998 das Projekt "Automatisierung von GUI-Tests" in der imbus GmbH als PIE-Projekt (Process Improvement Experiment) gefördert. In dem Projekt wurden manuelle und automatisierte Testverfahren verglichen und die damit verbundenen Aufwände gemessen. Als Testtool diente Mercury WinRunnerT , der aus der vorangehenden Tool-Evaluation als Spitzenreiter hervorging.
Die Aufwandsmessungen zeigen, dass die erstmalige Erstellung eines vollautomatisierten Testfalls durchaus bis zu 140% mehr Arbeitszeit in Anspruch nehmen kann, als eine ausschließlich manuelle Testdurchführung. Die Investition in die Automatisierung zahlt sich jedoch schon ab der zweiten Wiederholung des Tests im Regressionstest aus. Vorausgesetzt die durchgehende Automatisierung gelingt und die Regressionstests können unbeaufsichtigt ablaufen, sind bei der Durchführung von nur fünf Regressionstests bereits Kosteneinsparungen von 35% möglich.
Dies erfordert allerdings entsprechendes Know-how bei der Testprogrammierung. Das im PIE-Projekt gewonnene Wissen bei der Programmierung automatisierter Tests mit WinRunnerT wurde in der imbus GUI-Testbibliothek "konserviert", um es auch ungeübteren Testtool-Benutzern zugänglich zu machen. Die Bibliothek erweitert die WinRunnerT Testskriptsprache und enthält standadisierte Testfälle zum Softwaretest mit Mercury WinRunnerT unter MS-WindowsT. Sie ermöglicht WinRunnerT-Anwendern eine noch produktivere Projektarbeit und ist daher die ideale Ergänzung der Mercury Testwerkzeuge.
- Die Struktur der Testbibliothek
Die Bibliothek besteht aus drei grundlegenden Komponenten: Testskript-Templates, TSL-Funktionen und lauffähigen GUI-Tests. Diese Komponenten erleichtern den Test-Ingenieuren die Arbeit und reduzieren den Aufwand zur Verwaltung von Testskripten.
- Funktionsliste
Nach der Installation wird die Bibliothek mit der Startsequenz von WinRunner ® geladen und initialisiert. Die Bibliotheksfunktionen werden dann vom WinRunner ® Funktionsgenerator bereitgestellt und können von TSL-Skripten aus genauso aufgerufen werden wie die bereits in WinRunner ® enthaltenen Funktionen.
| "ARRAY"Module | "FILE"Module | "LIST"Module | "TAB"Module |
| array_clear | file_copy | list_collapse_all | tab_find_item |
| array_cmp | file_delete | list_expand_all | tab_get_all_items |
| array_condense | file_exists | list_find_item | "TIME"Module |
| array_count | file_mkdir | list_get_all_items | countdown |
| array_find | "GEO"Module | "MENU"Module | get_system_time |
| array_load | geo_check_align | menu_cmp | set_system_time |
| array_report | geo_check_overlap | menu_get_info_ext | "TOOLTIPS"Module |
| array_save | geo_check_size | menu_get_line | get_status_text |
| array_sort_C | geo_check_spacing | menu_item_exists | toolbar_learn |
| "GENERAL"Module | geo_get_parents | menu_save | tooltip_get |
| abs | geo_in_obj | menu_select_if_present | GUI-CHECKS |
| GUI_check_map | "INFOBAR"Module | "STANDARD"Module | All_Tile_Titles |
| obj_change_values | info_hide | std_check_checkbox | TEMPLATES |
| obj_cmp_values | info_on_top | std_check_edit | "STANDARD" |
| obj_editable | info_set | std_check_help | "Y2K" |
| obj_get_class | info_show | std_check_label | |
| obj_get_shortcut | "STRING"Module |
std_check_list | |
| obj_in_GUI | extract_shortcut | std_check_radio | |
| radio_get_group | replace_substring | std_check_shortcuts | |
| swap | trim | std_check_title | |
| win_get_objects |
Die imbus GUI Test-Bibliothek ist projektübergreifend wiederverwendbar gestaltet und wird erfolgreich beim Test von Applikationen aus unterschiedlichsten Branchen eingesetzt, u.a. Medizintechnik, Energieübertragung, Banken, Versicherungen.
Eine Demoversion ist downloadbar unter www.imbus.de. Die erweiterte Version 2.1 ist im Mai 1999 erschienen.
Veröffentlicht im Mercury Newsletter, Deutsche Ausgabe, September 1999


