Automatizované testy uživatelského rozhraní

Slides:



Advertisements
Podobné prezentace
Andrea Vlčková Jak prodávat produkty Microsoft v akademickém sektoru a v sektoru veřejné správy Andrea Vlčková
Advertisements

AJAX fenomén současného internetu Dalibor Kačmář Academic Developer Evangelist Microsoft ČR host Vítek Karas Senior Software Development Engineer Microsoft.
Virtuální akademie Řešení privátního cloudu.
MICROSOFT BUSINESS INTELLIGENCE Pavel Cach Solution Specialist: BI, Aplikace
Michal Neuwirth Partner Technical Readiness Microsoft s.r.o.
Priority IT v bankách a pojišťovnách pro rok 2012: Strategie Microsoftu pro finanční instituce Roman Cabálek, generální ředitel Microsoft ČR
Microsoft Confidential Michael Juřek Software Architect Microsoft.

Jiří Karpeta Platform Strategy Advisor Microsoft Czech Republic
Jak využít Office 365? Několik scénářů. | Copyright© 2010 Microsoft Corporation.
Heterogenní serverové prostředí, správa, bezpečnost a interoperabilita Jak zajistit interoperabilitu v hererogenním serverovém prostředí? Jak spolupracuje.
Jiří Burian DPE PM Nový typ aplikací a požadvků Visual Studio 2008 Silverlight Expression Web 2.0 Připravujeme lokalizaci komunitních.
Andrea Vlčková Licensing Marketing Manager
Příležitost pro partnery s Windows 7 Lukáš Křovák Produktový manažer divize Windows
Petr Štos Partner Technology Specialist Microsoft Corporation.
Partnerská konference Solution Partners Clarion Congress Hotel Prague 1. října 2009.
Internet Explorer 8 Štěpán Bechynský Developer Evangelist Microsoft s.r.o.
Michaela Hernady, Microsoft s.r.o Partner Development Manager
Windows 7 & Internet Explorer 8 vývoj aplikací a kompatibilita Štěpán Bechynský, Ondřej Štrba Developer Evangelists
Jak postupujeme vpřed v testování? Jak se nám daří vytvářet denní buildy? Stíháme opravovat chyby? Jak kvalitně chyby opravujeme?
Jakub Kvaček Segment Manager – Breadth Microsoft Česká republika
Poznejte jak je skvělé Mít to pod Kontrolou René Klčo Microsoft System Center Data Protection Manager 2007.
Podpora pro partnery zdroje pro obchodníky, studie návratnosti, případové studie atd. René Klčo Partner Account Manager.
Potřebujete vybudovat business aplikaci? Pokryje dílčí obchodní potřeby určité skupiny zaměstnanců, jednoho nebo více týmů Bude vytvořena / připravena.
Jan Dryml Systems Engineer Microsoft. Databáze SCCM 2007 Operační data Konfigurační data SCCM server Může poskytovat všechny nebo jen některé Uživatelská.
Chytrá volba pro podnikání René Keyzlar Operator Channel Lead 1/3/2012.
Július Hájek On-line Marketing Manager Microsoft
Projekt Informační a vzdělávací portál Libereckého kraje I CZ.1.07/1.1.00/ I Školení pro uživatele portálu.
Tabulkový procesor Formuláře – interaktivní prvky v Excelu Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Růžena Hynková. Dostupné z Metodického.
Pořízení dat Databázové funkce Řazení Filtrování Souhrny Kontingenční tabulky Kontingenční grafy.
ELEKTRONICKÉ ZABEZPEČOVACÍ SYSTÉMY. Název projektu: Nové ICT rozvíjí matematické a odborné kompetence Číslo projektu: CZ.1.07/1.5.00/ Název školy:
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Prostředí internetu Číslo DUM: III/2/VT/2/2/27 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Úvod do Delphi - 1.hodina OB21-OP-EL-KON-DOL-M-4-006A Orbis pictus 21. století.
Návrhové systémy. Název projektu: Nové ICT rozvíjí matematické a odborné kompetence Číslo projektu: CZ.1.07/1.5.00/ Název školy: Střední odborná.
I DENTIFIKACE NA INTERNETU Mgr. Marie Kardová Leden 2014.
Snímek 1 PowerPoint2OP381 Manažerská informatika 1 2OP381 Manažerská informatika 1 Microsoft PowerPoint 2016 – 2. část.
Univerzitní informační systém III., Lednice 2004 Vývoj a koncepce nového univerzitního webu Ondřej Kudlík
Office 365 Education Scénáře pro univerzity
Databáze © Mgr. Petr Loskot
PŘIHLÁŠENÍ K ELEKTRONICKÉ EVIDENCI TRŽEB
Nadpis prezentace Zdeněk Tišl
NÁZEV ŠKOLY: Masarykova základní škola a mateřská škola Melč, okres Opava, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ AUTOR: Mgr. Vladimír.
Vytvořil: Robert Döring
COM – Práce s objektovým modelem jiné aplikace
Co s daty? Azure ML Jan
Inf Operační systémy a jejich funkce
Výukový materiál zpracován v rámci projektu
Windows – WordPad VY_32_INOVACE_32_649
Tlačítko start Eva Kimlová.
VY_32_INOVACE_
TÉMA: Počítačové systémy
Inf Ovládání operačního systému
JEdit Open source programování – – Marek Bílý.
Databáze MS ACCESS 2010.
SIMULAČNÍ MODELY.
Vkládání záznamů do databáze OBD
Informatika pro ekonomy přednáška 8
Legislativní tok Ministerstvo spravodlivosti SR
GDPR: ochrana osobních údajů
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Typy Oken, Zobrazení a Konfigurace
Remote login.
A5M33IZS – Informační a znalostní systémy
Tereza Bížová Představení se.
3. Odborná literatura, její zdroje na internetu a PřFUK
Průvodní list Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT   Vzdělávací materiál: Prezentace – zápis pro žáky Určen pro: 2. ročník oboru.
Analýza informačního systému
Digitální učební materiál
Transkript prezentace:

Automatizované testy uživatelského rozhraní Michael Juřek Software Architect Microsoft s.r.o.

Agenda Co je test UI a kdy ho použít? Anatomie testu UI Pokročilé možnosti Doporučení

Proč vytvářet testy UI? Šetří čas nutný pro funkční testování aplikace Brání regresním chybám: Pokud přestane něco fungovat, zjistíte to okamžitě Kdy se vyplatí? Pokud: PočetOpakováníTestu * DobaManuálníhoTestu > PracnostVytvořeníAutomatickéhoTestu

Vhodný příklad použití Controller Model View Integrační testy Unit testy Testy UI

Zapojení do životního cyklu Test UI je speciální unit test (C# nebo VB): Spravován a verzován spolu s kódem Vytvořen ve VS 2010 Premium nebo Ultimate Test Case je nový typ pracovní položky Přiřazením testu UI se stane automatizovaným Možnosti spouštění testu UI: Na vývojářské stanici (jako unit test) Během týmového buildu (jako test case), společně s nasazením aplikace do virtuálního prostředí Z nástroje Test Manager (jako test case)

Vytvoření testu UI Dva způsoby: Z manuálního test casu nahraného pomocí Test Manageru Nutno dodat kontroly výsledků Z Visual Studia 2010: Nástroj Coded UI Test Builder

demo Vytvoření testu UI

Agenda Co je test UI a kdy ho použít? Anatomie testu UI Pokročilé možnosti Doporučení

Architektura komponent Web Plug-ins (MSHTML/DOM) Interpreter Coded UI Test Code Generation Test Manager Playback Recorder Rich Client Plug-ins (UIA/MSAA) Filter/ Aggregation Rules API Property Provider 3rd Party Plug-ins Technology Abstraction Layer Browser Service

Podporované platformy Plně podporováno: WPF 3.5+ (pozor na ovládací prvky třetích stran) WinForms 2.0+ (pozor na ovládací prvky třetích stran) Webové aplikace v IE7 a IE8 Podporováno s omezeními: Silverlight 4.0 (nutný Feature Pack 2, pouze v prohlížeči, nutná reference na helper DLL) Webové aplikace ve Firefox 3.6+ (nutný Feature Pack 2, pouze přehrávání, ne nahrávání) Nepodporováno, ale rozumně funguje: C++ (MFC, Win32, …) Nefunguje: Ostatní prohlížeče, Office, Flash, Java na klientovi, SAP, …

Mapa uživatelského rozhraní Soubor s příponou .uitest Dvě části: Strom použitých (ne všech) ovládacích prvků Každý prvek je definován vyhledávacími kritérii Posloupnosti kroků – jsou volány z vlastního testu Akce (Actions) Kontroly (Assertions) Nástroje: Vytváření/Nahrávání – Coded UI Test Builder Editace – Coded UI Test Editor (součást Feature Pack 2)

Složky mapy UI Jmeno.uitest Jmeno.Designer.cs Jmeno.cs Deklarativní XML definice ovládacích prvků a akcí Vytvářen a upravován speciálními nástroji Jmeno.Designer.cs Generován při každé změně .uitest Nedotýkat se! Jmeno.cs Sem můžete doplňovat svůj kód (partial class) Sekvence akcí, kontroly podmínek, parametrizované metody apod. V editoru je části XML možné převádět do tohoto souboru

Mechanismus nahrávání/přehrávání Odfiltrování irelevantních akcí v UI Agregace na co nejvyšší úroveň abstrakce Click na textbox, stisky kláves -> vložení textu do textboxu Přehrávání: Vyhledání prvku podle definovaných vyhledávacích kritérií Wait for ready (WFR) – čeká se, dokud není připraven na vstup Kontrola viditelnosti ovládacího prvku Provedení akce Kontrola, zda prvek opravdu příslušnou akci provedl

demo Anatomie testu UI

Agenda Co je test UI a kdy ho použít? Anatomie testu UI Pokročilé možnosti Doporučení

Parametrizace Veškeré konstantní hodnoty jsou při nahrávce parametrizovány Výchozí (nahrané) hodnoty jsou nastaveny ve vlastnostech mapy UI: JmenoAkceParams JmenoKontrolyExpectedValues Možnost změny hodnot během testu: V kódu nastavte parametry prostřednictvím odpovídající vlastnosti mapy UI Zavolejte metodu mapy UI (bez parametrů)

Testy UI řízené daty Test UI lze běžet vícekrát pro různé kombinace vstupů a očekávaných výsledků Postup: Definování zdroje dat - .csv, .xml, databáze Nastavení vazby mezi testem a zdrojem dat Parametrizace s využitím TestContext.DataRow Viz http://msdn.microsoft.com/en-us/library/ee624082.aspx Možnost využít jako zdroj dat parametry zadané v definici test case: http://blogs.msdn.com/b/balagans/archive/2009/12/28/9941569.aspx

Parametrizace, testy řízené daty demo Parametrizace, testy řízené daty

Více map UI v jednom projektu Pro testování reálné složitější aplikace se jedna mapa UI stane brzo nepřehlednou Vytvoření více map umožňuje logické strukturování podle částí UI Viz http://msdn.microsoft.com/en-us/library/ff398056.aspx Je vhodné udržovat poměr 1:1 mezi mapami a testovacími třídami

PlaybackSettings Třída pro nastavování jemných parametrů přehrávání: http://blogs.msdn.com/b/vstsqualitytools/archive/2009/08/10/configuring-playback-in-vstt-2010.aspx Ve velké většině případů vyhovuje výchozí nastavení

Agenda Co je test UI a kdy ho použít? Anatomie testu UI Pokročilé možnosti Doporučení

Identifikace ovládacích prvků Prvek je možné identifkovat mnoha způsoby: TextBox s ID rovným txtLastName TextBox hned vedle popisky „Příjmení“ TextBox v pořadí 5. na formuláři Fungují v principu všechny způsoby Mají ale různou odolnost vůči budoucím změnám uživatelského rozhraní

Identifikace u webových aplikací Používejte ID u ovládacích prvků, které jsou: Jednoznačné Opakovatelé Co nejlépe lidsky čitelné V případě ASP.NET Web Forms aplikace vhodně využijete ClientIdMode http://www.thereforesystems.com/working-with-client-id-in-asp-net-4/

Identifikace u WPF/SL aplikací Jednoznačné, opakovatelné, lidsky čitelné identifikátory Databinding a návrhový vzor MVVM je ale nevyžadují Přesto je vhodné je používat - dvě možnosti: Name – zvětšuje množství vygenerovaného kódu AutomationProperties.Name – nezvyšuje množství kódu, ale je pouze ve WPF Objekty používané pro databinding v seznamech by měly mít jednoznačný a opakovatelný výsledek volání ToString() Viz http://blogs.msdn.com/b/gautamg/archive/2010/03/10/how-to-get-automation-working-properly-on-data-bound-wpf-list-or-combo-box.aspx

Další doporučení Používejte dobře čitelná jména u generovaných metod, kontrol i ovládacích prvků Každá mapa UI operuje nad jednou stránkou, formulářem, dialogem (použijte více map UI) Každá metoda operuje nad jednou stránkou, formulářem, dialogem Maximálně 10 akcí na vygenerovanou metodu Jedna kontrola na vygenerovanou metodu Využívejte co nejvíce definici v XML a co nejméně kód

Další informace Blog speciálně věnovaný testům UI http://blogs.msdn.com/b/mathew_aniyan Test and Lab Team’s Blog http://blogs.msdn.com/b/vstsqualitytools/ Demo / Trial VHD se cvičeními http://bit.ly/VS2010RTMVHD

9/8/2018 7:52 PM Závěrem Automatizované testování UI může ušetřit čas při testování aplikací Návratnost investice závisí na počtu budoucích provádění testu – vhodné zejména pro klíčové scénáře v aplikaci VS 2010 nabízí prostředky, díky kterým je vytváření automatických testů UI relativně snadné, s robustním výsledkem © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.