Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Klassifikation der Systemtests
· Der Systemtest wird in den funktionalen und den nicht funktionalen Systemtest eingeteilt o Funktionaler prüft die funktionale Anforderungen, Korrektheit und Vollständigkeit o Nichtfunktionaler überprüft nicht funktionale Anforderungen § Sicherheit § Benutzbarkeit § Interoperabilität § Dokumentation § Ausfallsicherheit § Leistungstests Regressionstest · Ist die Wiederholung eines bereits vollständig durchgeführten Systemtests aufgrund von Pflege, Änderung und Korrektur des betrachteten Systems. · Zweck: sicherstellen, dass das System nicht in einen schlechteren Zustand als vorher zurückgefallen ist. · Zur Vereinfachung der Testauswertung werden die Ergebnisse des Regressionstests mit den Ergebnissen des vorausgegangenen Tests vergliechen. Abnahmetest · Spezieller Systemtest bei dem: o Der Kunde beobachtet, mitwirkt oder Feder führt o Die reale Einsatzumgebung beim Kunden verwendet wird o Und nach Möglichkeit echte Daten des Auftraggebers verwendet werden · Der Auftraggeber kann Testfälle des Systemtests übernehmen und/oder modifizieren und/oder eigene Testszenarien durchführen, aber · … die formale Abnahme ist die bindende Erklärung der Annahme (juristisch) eines Produkts durch den Auftraggeber Testwerkzeuge Testwerkzeuge für Softwareamateure · Testen mit Ausgabeanweisungen im Programm o Drucken Variablen an bestimmten Stellen im Programm aus o Werden nach Test gelöscht oder auskommentiert o Besser: per Übersetzerdirektiven zu- und ausschalten · Testen mit einem interaktiven Debugger o Haltepunkte festlegen o Variable interaktiv an den Haltepunkten inspizieren o Informationen über Untersuchung ist nach Debuggerlauf verloren · Testen mit Test-Skripten o Laufen automatisch ab o Verknüpft mit print-Anweisungen o Manuelle Überprüfung der Ausgaben Nachteile dieser Methoden · Bei Programmänderungen müssen Testfälle wiederholt werden, was dann mühsam und unpraktisch ist o Ausgabe-Anweisungen sind oft nicht mehr vorhanden o Wenn doch vorhanden, sind die richtigen Auskommentierungen zu entfernen o Bei Testen mit Debugger ist keinerlei Information vorhanden, welche Variablen inspiziert werden sollen · Ergebnisse müssen manuell überprüft werden o Nur der Programmierer weiß, was die Ausgaben bedeuten und wann sie richtig sind o Selbst dieser verliert dieses Wissen mit der Zeit · Es ist unpraktikabel, Testfälle für viele Komponenten zusammenzufassen und gesammelt auszuführen o Technisch schwierig o Zu viele Ausgabedaten zu überprüfen Alternativen · Benutze Zusicherungen (assert) · Schreibe automatisch ablaufende Testfälle, die sich selbst überprüfen · Benutze Prüfprogramme, die Software auf Schwachstellen untersuchen Zusicherungen · Boolsche Funktionen o Vor- und Nachbedingungen o Invarianten einer Datenstruktur · Werden zur Laufzeit ausgeführt · Im Fehlerfall melden sie sich mit Ausnahme oder Fehlermeldung · Bei Java ab 1.4 sind die assertions eingebaut · Bei C und C++ mit Makros · Wichtig: Zusicherungen können zu und abgeschaltet werden Benutzung von Zusicherungen · Unerreichbare Codesegmente können mit einer Zusicherung abgesichert werden · Konvention für öffentliche Methoden o Überprüfung der Eingabeparameter nicht mit Zusicherungen, sondern mit IllegalArgumentException o Folge: Klientprogramme können darauf reagieren · Konvention für private Methoden o Eingabeparameter, Nachbedingungen und Invarianten aller privater Methoden mit Zusicherungen überprüfen o Grund: Verletzung ist unerwarteter Defekt o Aber: Falsche Parameter bei öffentlichen Methoden sind nicht unerwartet · Mit Zusicherungen können Missverständnisse und Fehlerinterpretationen der Programmierer rasch aufgedeckt werden
· In Produktionsläufen werden Zusicherungen aus Leistungsgründen abgeschaltet (in Java selektiv für einzelne Klassen) · Bei Auftreten eines Defekts oder beim Testen von Programmänderungen werden die Zusicherungen wieder zugeschaltet · Zusicherungen sind keine Testfälle o Es werden nur bestimmte Bedingungen im Programmlauf überprüft o Sofern sie zugeschaltet sind, werden sie beim Ablauf von Testfällen mit ausgeführt Automatisch Ablaufende Testfälle JUnit Prüfprogramme · Warnungen und defekte o Werden von DIE angezeigt, z.B. nicht initialisierte Variablen, nicht erreichbare Anweisungen, unnötige Anweisungen · Programmierstil überprüfen (Checkstyle) o Einrücken o JavaDoc o Kein final usw. · Defekte anhand von Fehlermustern finden (FindBugs) Findbugs Muster · Schlechte Angewohnheiten o Klasse definiert clone() aber implementiert cloneable nicht · Korrektheit o Verwirrende Methodennamen (Methoden unterscheiden über Groß und Kleinschreibung, ist absichtlich oder nicht?) · Internationalisierung o toLowerCase kann mit internationalen Schriftsätzen schief gehen · Code-Angreifbarkeit o Ein statisches Attribut soll nur im Paket sichtbar sein · Korrektheit bei mehrfädigen Anwendungen o Notify() mit notifyAll() ersetzen · Ausführungsgeschwindigkeit o toString an einer String ausführen · Sicherheit o Leers Kennwort · Fragwürdiger Code o Überprüfung Variable aud null, wenn man weiß, dass sie null ist
|
|||||
Последнее изменение этой страницы: 2017-01-19; просмотров: 123; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.233.43 (0.024 с.) |