1 / 16

Automated Software Testing

Automated Software Testing. Sebastian Heil. Motivation. Agile Software Development Manuelle Tests aufwändig Alles „Auf einen Klick“. Was ist automatisierbar?. Testfallerstellung Testausführung Testauswertung und – dokumentation. Ziele (der Automatisierung). Verbesserung der Qualität

Download Presentation

Automated Software Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automated Software Testing Sebastian Heil

  2. Motivation • Agile Software Development • Manuelle Tests aufwändig • Alles „Auf einen Klick“ Automated Software Testing - Sebastian Heil

  3. Was ist automatisierbar? • Testfallerstellung • Testausführung • Testauswertung und – dokumentation Automated Software Testing - Sebastian Heil

  4. Ziele (der Automatisierung) • Verbesserung der Qualität • Tests als Spezifikation • Fehlervermeidung • Fehlerlokalisation • Minderung des Risikos • Tests als Sicherungsnetz • Einfache Ausführung • Hohe Coverage Automated Software Testing - Sebastian Heil

  5. Ansätze Code-drivenTesting GUI Testing Indirekt über GUI • Direkt • Quellcode public classTestClassToTest { … @Test public voidtestMethodToTest() { ClassToTestsut = newClassToTest() intval = sut.methodToTest(0); assertEquals(42, val); } … } … site = 'http://www.google.com‘ b = Watir::Browser.new browser b.goto(site) b.text_field(:name, "q").set(“gaedke") b.button(:name, "btnG").click ifb.text.include?(“TU Chemnitz") puts "Test Passed. Found the test string” elseputs "Test Failed! Couldn’t find test string” end … Automated Software Testing - Sebastian Heil

  6. Ansätze Code-drivenTesting GUI Testing Indirekt über GUI • Direkt • Quellcode public classTestClassToTest { … @Test public voidtestMethodToTest() { ClassToTestsut = newClassToTest() intval = sut.methodToTest(0); assertEquals(42, val); } … } … site = 'http://www.google.com‘ b = Watir::Browser.new browser b.goto(site) b.text_field(:name, "q").set(“gaedke") b.button(:name, "btnG").click ifb.text.include?(“TU Chemnitz") puts "Test Passed. Found the test string” elseputs "Test Failed! Couldn’t find test string” end … Automated Software Testing - Sebastian Heil

  7. Prinzipien der Automatisierung • Front Door First • Aussagekräftige Tests • Keine Veränderungen am SUT • Testabdeckung maximieren, Testüberdeckung minimieren • Separate, spezifische Tests Automated Software Testing - Sebastian Heil

  8. Unit Testing • Unit: kleines Stück isolierter Quellcode, meist Klasse • Unit Test: Quellcode, ruft zu testende Unit auf • Überprüfung von Annahmen • Vergleich von Ist- und Sollergebnis • Getestet wird logischer Code Automated Software Testing - Sebastian Heil

  9. Unit vs. System/Integration Testing Unit Testing System/Integration Testing Test von mehreren voneinander abhängigen Modulen als Gruppe Testet Zusammenspiel Schwerer automatisierbar Aufwändiger erst nach vorangeschrittener Entwicklung • Test einer einzelnen Unit in Isolation • Testet Programmlogik • Automatisiert • Schnell • Von Anfang an Automated Software Testing - Sebastian Heil

  10. Automatisierungsstrategien • Recorded Tests • Data-Driven Tests • Scripted Tests Automated Software Testing - Sebastian Heil

  11. Test Automation Frameworks Robot User xUnit Code-drivenTesting Scripted Tests Test Runner Library Assertion Methods 4-Phasen Test Beispiel: JUnit • GUI Testing • Recorded Tests • Test Recorder • Test Runner • Beispiel: Selenium Automated Software Testing - Sebastian Heil

  12. xUnit Automated Software Testing - Sebastian Heil

  13. xUnit Automated Software Testing - Sebastian Heil

  14. Beispiel: Selenium Automated Software Testing - Sebastian Heil

  15. Beispiel: JUnit Automated Software Testing - Sebastian Heil

  16. Quellen • The Art of Unit Testing: With Examples in .NET • TU Darmstadt: JUnit 4 Tutorial • Software Test Automation: Myths and Facts • xUnit Test Patterns: Refactoring Test Code • Selenium • Automated Software Testing Automated Software Testing - Sebastian Heil

More Related