IcuTest - IcuTest - Wikipedia

IcuTest
VývojářiNXS-7 Software Inc.
Stabilní uvolnění
1.0.7 / 11. května 2010; před 10ti lety (2010-05-11)
Operační systémMicrosoft Windows
TypAutomatizace testů, testování jednotky
LicenceProprietární
webová stránkawww.nxs-7.com/ icu

IcuTest je testování jednotky rámec pro GUI. Aktuální verze podporuje Windows Presentation Foundation aplikace. Ověření grafického uživatelského rozhraní se provádí především pomocí porovnání obrázků. Testovací sady mohou běžet interaktivně nebo plně automatizovaně.

Filozofie

IcuTest není systém záznamu a přehrávání. Takové systémy mohou vytvářet testovací skripty, které se obtížně udržují.[1][2] IcuTest se spíše domnívá, že nejúčinnějším místem pro testování je test jednotky. Proto se IcuTest vzdává jakéhokoli záznamového mechanismu a stejně jako typické testy jednotek se spoléhá na programátor, že definuje rozsah a parametry testu.

Používání

Typický IcuTest poskytuje přímou kontrolu nad testovanou aplikací. Zde je příklad, který zajišťuje správnost ViewModel.

    [Testovací metoda]    veřejnost prázdnota TestMyWindow_WithDataContext()    {        JIP.Vyvolat(() => {            var w = Nový MyWindow();            w.Ukázat();            JIP.CheckView(w, „MyWindowTest“);             w.DataContext = Nový MyViewModel();            JIP.CheckView(w, „MyWindowTest_with_ViewModel“);             w.Zavřít();        });    }

ICU.CheckView je hlavním testovacím (nebo prosazujícím) mechanismem v IcuTestu. Provádí rychlé porovnání bitmap mezi aktuálním snímkem uživatelského rozhraní a dříve uloženým snímkem. Stejně jako Assert, CheckView vyvolá výjimku, když test selže.

IcuTest nabízí nástroje vyšší úrovně, které jsou speciálně navrženy tak, aby usnadnily testování grafického uživatelského rozhraní. Zde je příklad, který ilustruje:

    [Testovací metoda]    veřejnost prázdnota cannot_login_with_invalid_password()    {        var kontext = Nový WindowScenario<ExampleLoginWindow>();        JIP.Dáno(kontext)             // Volitelné specifikace BDD             .Jako(„Uživatel MyApp“)            .Chci(„přihlašovací okno“)            .Aby(„Mám zabezpečený přístup k datům MyApp“)             .Když(() => {                // nastavení nesprávného hesla pomocí automatizace GUI                set_login(kontext.Okno, "moje jméno", "špatné heslo");            })            .Pak(() => {                 // okno by mělo zobrazovat zprávu „neplatné přihlášení“                JIP.CheckView(kontext.Okno, „login_with_invalid_pass“);            })            .Test();    }     prázdnota set_login(ExampleLoginWindow w, tětiva uživatel, tětiva složit)    {        var userBox = guiHelper.Nalézt<Textové pole>(w, "userBox");        var passBox = guiHelper.Nalézt<PasswordBox>(w, "passwordBox");        var loginBtn = guiHelper.Nalézt<Knoflík>(w, „Přihlašovací tlačítko“);        userBox.Text = uživatel;        passBox.Heslo = složit;        guiHelper.Klepněte na(loginBtn);    }

Funkce

S IcuTest můžete:

  • Vytvářejte jednoduché, udržovatelné testy GUI
  • Zajistěte spolehlivé a funkční aplikace
  • Podpora osvědčených postupů TDD a BDD
  • Použít s MSTest, NUnit, XUnit, MbUnit atd.
  • Najděte chyby rychle a automaticky
  • Produkujte lepší pokrytí kódu
  • Podporujte sebevědomý refaktoring
  • Zmírněte ruční testování a ladění

Reference

  1. ^ Memon, A: Testování GUI: Úskalí a proces„Počítač IEEE“, 2002.
  2. ^ Xie, Q: Vývoj nákladově efektivních technik založených na modelech pro testování GUI„ICSE ’06: Proceedings of the 28th international conference on Software engineering“, 2006.