Abstrakt. Skriva enhet testkod är arbetsintensiv, därför görs det ofta inte som en integrerad del av programmering. Enhetstester är dock ett praktiskt tillvägagångssätt för att öka programvarans korrekthet och kvalitet, till exempel bygger Extreme Programming-metoden på frekventa enhetstester. I det här dokumentet presenterar vi ett nytt tillvägagångssätt som gör det lättare att skriva enhetstester. Den använder en formell specifikation språk körtid påstående kontroll för att avgöra om metoder fungerar korrekt, på så sätt automatisera skrivandet av enhet test oracles. Dessa orakel kan enkelt kombineras med handskrivna testdata. Istället för att skriva testkod skriver programmeraren formella specifikationer (t.ex. pre- och postvillkor). Detta gör programmerarens uppgift lättare, eftersom specifikationerna är mer koncisa och abstrakta än motsvarande testkod, och därmed mer läsbara och underhållbara. Genom att använda specifikationer vid testning upptäcks dessutom snabbt fel i specifikationen, så specifikationerna är mer benägna att ge användbar dokumentation och indata till andra verktyg. Vi har implementerat denna idé med hjälp av Java Modeling Language (JML) och JUnit testing framework, men metoden kan enkelt genomföras med andra kombinationer av formella specifikationer språk och enhet testverktyg.
Cheon och Levens beskriver ett tillvägagångssätt för enhetstestning som använder ett formellt specifikationsspråks körtidspåståendeskontroll för att avgöra om metoder fungerar korrekt med avseende på en formell specifikation med pre- och postvillkor, och har genomfört denna idé med hjälp av Java Modelling Language (JML) och JUNIT testing Framework REF.
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
{'venue': 'ECOOP 2002, volume 2374 of LNCS', 'journal': None, 'mag_field_of_study': ['Computer Science']}