Code Based Testing

Code Based Testing (codebasiertes Testen) ist eine Art zu überprüfen, ob alle Codezeilen korrekt ausgeführt wurden. Das Ziel ist es sogenannte „Bugs“, also Fehler zu entdecken, indem die passenden Testszenarien dafür ausgewählt werden. Der Test wird in verschiedenen Phasen durchgeführt werden: Bei der Code-Entwicklung, Code-Inspektion und im Unit Testing. Es gibt außerdem verschiedene Ansätze für das codebasierte Testen:

Dynamic Testing: Bei diesem Test wird geschaut, dass alle Abschnitte der Software systematisch für den Test abdeckt sind. Zeilen, Loops, Sequenzen und Validität werden somit auf Ihre Richtigkeit geprüft.

Cyclomatic Complexity: Diese Technik, die auf einer mathematischen Formel basiert, die Umstände aufdecken soll, die sonst nicht so einfach gefunden werden. Mit der Hilfe eines Kontrollfluss-Diagramms wird geprüft, ob alle Kriterien erfüllt wurden.

Static Testing: Experten oder auch Tools analysieren den Inhalt bzw. den Code einer Software. Normalerweise ist das eine Inspektion, bei der mehrere Methoden zur Analyse genutzt werden. Unter anderem eine Code-Inspektion nach bestimmten Checklisten und Regeln, ein Code Walkthrough bei dem andere Teammitglieder durch das Programm geführt werden und Anregungen geben, ein Code-Review bei dem Programmierer gegenseitig ihre Programmiercodes auf Fehler prüfen und ein Code Audit, bei dem der Code auf die vordefinierten Regeln oder Protokolle getestet wird. Im Android Umfeld ist das Tool Android Lint eine Möglichkeit im Rahmen von Continous Integration immer wieder Staatic Testing ausführen zu lassen und somit Code Based Testing weiter voran zubringen.

Das Ziel ist es, dass der Auftraggeber der Software oder die bevollmächtigte Person der Instanz die Software anhand der festgelegten Kriterien abnimmt und akzeptiert.

Ein Akzeptanztest beginnt mit der Analyse der Kundenanforderung. Danach werden Testszenarien erstellt, ein Testplan festgelegt und Testfälle erstellt, um den Akzeptanztest durchzuführen. Nach der Durchführung werden die Testergebnisse festgehalten und angegeben, ob alle Kundenanforderungen erfüllt wurden.