330 likes | 456 Views
31/5/2012. Testing μέσα από το Visual Studio!. Testing για τον Tester/Manager. 31/5/2012. Testing για τον Tester/Manager. Γιώργος Καρκαλής Στάθης Μαρίνος SafeCape Software Solutions. SafeCape Software Solutions. Ασχολούμαστε με: Ανάπτυξη και διάθεση προϊόντων λογισμικού
E N D
31/5/2012 Testing μέσα από το Visual Studio! Testing για τον Tester/Manager
31/5/2012 Testing για τον Tester/Manager Γιώργος Καρκαλής Στάθης Μαρίνος SafeCape Software Solutions
SafeCape Software Solutions • Ασχολούμαστε με: • Ανάπτυξη και διάθεση προϊόντων λογισμικού • Ανάλυση, σχεδίαση και ανάπτυξη έργων πληροφορικής • Λύσεις end to end • ALM-Sharepoint-Project Server • Είμαστε: • Microsoft Silver Partner • Dedicated Visual Studio reseller για την Ελλάδα
Τα εμπορικά προϊόντα μας • Insurance.Office • Διαχείριση ασφαλιστικών πρακτορείων • Accounting.Office • Λογιστική • Reinsurance.Broker • Διαχείριση πρακτορείου αντασφαλειών • Framework.Health • Πλατφόρμα ανάπτυξης εφαρμογών για το χώρο της υγείας • Rules Toolset • Εύκολος ορισμός σύνθετων κανόνων και μετασχηματισμός τους σε προσωποποιημένες αναφορές (Personal Genetics)
Dedicated Visual Studio reseller • Είμαστε developers του Visual Studio (με μεγάλη πείρα) • Έχουμε προϊόντα «εκεί έξω» που τα συντηρούμε • Μιλάμε την «ίδια γλώσσα» με εσάς • Μπορούμε να σας βοηθήσουμε με το licensing
Agenda • Use case • Testing the UI (Coded UI Tests) • Testing web apps / services (Web Tests) • Load Testing • How do I get it (Εκδόσεις & Αδειοδότηση)
Use case - Overview • Customer: • Ασφαλιστική εταιρία (Ins. Co.) • Αντικείμενο: • Σύστημα υπολογισμού ασφαλίστρων: • Μηχανισμός τιμολόγησης ως Web Service • Desktop application (proof of concept) • Web site (B2C)
Use case - Overview • ISV: SafeCape • Μηχανισμός τιμολόγησης:Powered by Rules.Toolset, available: • On premise • SaaS – Azure • Ανάπτυξηλογισμικού: • desktopapplication (WPF) • web application (ASP.NET)
Rules.Toolset design tools • Model Editor • Authoring tool - Desktop application • Quality Control Client • Report Template Editor • Report template authoring tool, ένα Word 2007/2010 Add On
Rules.Toolset Services • Modeler (Execution engine) • Report Generator (produces Open XML docs) • Quality Control Available as: • In-process (dlls) – (χωρίς Quality Control) • Web services • On premise (IIS/SQL) • Windows Azure (Web Role) / SQL Azure
SafeCape Challenges (ISV) • Τι απόκριση έχει το σύστημα; • Τι φόρτο μπορούν να σηκώσουν τα web servicesσε: • On premise – typical configuration • Azure : instance size / number of instances • Tι κόστος θα έχει η υπηρεσία στο Azure ανάλογα με τις ανάγκες του εκάστοτε πελάτη; • Τι business model θα ακολουθήσουμε; • Ποια θα είναι η τιμολογιακή μας πολιτική;
Ins. Co. Challenges (Customer) • Η λύση της SafeCapeμπορεί να ανταποκριθεί στο φορτίο μας; • Η custom εφαρμογή που θα μου παραδώσει η SafeCapeανταποκρίνεται στις απαιτήσεις μας (UAT); • Functional requirements • Non-functional requirements (απόκριση, φόρτος) • Η διαδικτυακή υπηρεσία που θα παρέχω στο ευρύ κοινό, η οποία θα βασίζεται στο Rules.Toolset, θα μπορεί να ανταποκριθεί στην προσδοκώμενη ζήτηση;
Visual Studio Testing Tools • Σε ποιους απευθύνεται; • Αυτούς που παράγουν λογισμικό • Αυτούς που παραλαμβάνουν λογισμικό • ΔΕΝ περιορίζεται σε: • .ΝΕΤ εφαρμογές • Τεχνολογίες Microsoft • Μπορεί να τεστάρει: • Οποιαδήποτε web τεχνολογία: php, Java, python, node.js … • UI: Windows OS (βλ. CUIT Platform Support)
Testing the UI • Regression tests • Data driven tests • Automate complex scenarios • Functional requirements • Non-functional requirements • Response times (Load test) • Create UI Test using: • Coded UI Test Builder (recorder) • Existing Action Recording (TFS/MTM) • Manual tests • Exploratory tests (VS11)
Testing web apps • Web Performance Tests : HTTP based • Record->Edit->Playback • Το βασικό δομικό στοιχείο για το Load testing • Web Test Recorder (IE Add-on) • Ανιχνεύει δυναμικές παραμέτρους: • Sessionid, cookies,hidden form fields-viewstate • Aυτόματοcorrelation των παραμέτρων: • Extract from response -> Bind to request • Web Test Playback (VS) • Page preview / request-response content • Find/extract tools
Authoring web tests • Declarative editing • Looping / conditional branching • Extraction rules • Validation rules • Verification • Goal validation rules (e.g. response time < 2sec) • Data driven tests • Transactions
Advanced features • Δυνατότητα μετατροπής σεcoded web test • Extensibility – custom plugins • Web test recorder plugins • Web test result viewer plugins
Load Testing Terminology • Response time • Ποιος ο χρόνος απόκρισης μίας σελίδας/ συναλλαγής, κάτω από δεδομένο φορτίο? • Throughput • Πόσες αιτήσεις/συναλλαγές ανά δευτερόλεπτο μπορεί να χειριστεί ο server? • Resource utilization • Πόσους πόρους (CPU, memory, network) καταναλώσει το σύστημα σε δεδομένο φoρτίο?
Load/Stress Test Feature Set (1) • Ευέλικτη μοντελοποίηση του φόρτου • Σενάρια χρήσης για διαφορετικές ομάδων χρηστών • Load patterns • Goal-based • Step • Constant • Διαφορετικοί browsers και τύποι δικτύων • Duration-based and iteration based
Load/Stress Test Feature Set (2) • Συλλογή δεδομένων και μετρικών • Performance Counters • Integration με data collectors • ASP.net profiler • Intellitrace™ • Full test results on errors • Ανάλυση αποτελεσμάτων • Γραφήματα • Στατιστικά • Αναφορές απόδοσης στο Excel • Virtual user activity chart
Load Test Architecture Visual Studio Load agent Web server test controller Microsoft Test Manager 2010 database server
Load patterns • Goal based • Αυξάνει ο φόρτος μέχρι να ξεπεραστεί κάποιο όριο • Constant load • Step Μπορούμε να δούμε με το goal based πόσους χρήστες «σηκώνει» το σύστημα μας και στη συνέχεια με constant load να δούμε τι throughput και response time έχει
Usefull resources • Content Index for Unit Test • http://blogs.msdn.com/b/mathew_aniyan/archive/2012/05/17/content-index-for-unit-test.aspx • Content Index for Coded UI Test • http://blogs.msdn.com/b/mathew_aniyan/archive/2010/02/11/content-index-for-coded-ui-test.aspx • Content Index for Web Tests and Load Tests • http://blogs.msdn.com/b/edglas/archive/2007/12/17/content-index-for-web-tests-and-load-tests.aspx • Using Visual Studio Load Tests in Windows Azure Roles • http://msdn.microsoft.com/en-us/library/windowsazure/hh674491.aspx