Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing.

Similar presentations


Presentation on theme: "Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing."— Presentation transcript:

1 Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing

2 Turn off your mobile. Thank you.

3 Agenda Testing in an Agile World Unit Testing Exploratory Testing Automated UI Testing Web Based Test Management Lab Management

4 Testing in an Agile World

5 5 Quality in an Agile World... Quality early and often Quality from the very beginning Quality built in... Built in all procedures, tools and process phases Develop quality code, measure and keep quality high Automated tools, processes and runtime infrastructure Out of the box Efficient tools for the manual parts of the process Automatically record diagnostic information for manual tests

6 6 Testing in an Agile World... What does Scrum say? https://www.scrum.org/Scrum-Guides

7 7

8 8 Testing in an Agile World... Testing is not just for testers Everyone is responsible for the Quality Use Done lists to help control Quality Turn acceptance criteria into acceptance tests Turn one sprint’s tests into next sprint’s regression tests Testing and Quality management support Continuous Deloyment

9 9 UAT (Black Box to White Box) Manual testing Organized Manual Testing Automated Testing Code Tests 70-80% Exploratory Testing Test Cases and Test Steps Coded UI Tests Selenium Tests Unit Tests and Integration Tests 10-20% dreaming5 - 10%

10 Unit Testing

11 11 Unit Testing in Visual Studio 2013 Test View Window Multiple Test Runners/Engines Testing in Isolation – Fakes Framework Testing SharePoint Applications

12 12 Developer Focused Unit Test Experience

13 13 Architecture Visual Studio Unit Test Explorer Command Line Runner TeamBuild Unit Test Activity Visual Studio Unit Test Platform MS-Test Managed MS-Test Native

14

15 Isolating code for better testing The VS Fakes framework lets you test almost ANYTHING in isolation, even when it has external dependencies Fakes come in two flavors: Stubs – concrete implementations of interfaces or abstract classes that you can pass in to your system-under-test to isolate it from real implementations Shims – generated classes that enable you to intercept and replace calls to existing classes in runtime, even those from the.NET BCL! We also have: Emulators – systems of stubs and shims replicating complex behavior patterns One example: SharePoint emulator

16 Recommendations Stubs A natural extension of well known testing strategies You should feel good about using them in your tests. Shims Are amazingly powerful and sometimes the only way to test certain things… but they are evil! For legacy code or code that you don’t own Use Shims to get your code under test But don’t stop there… Strive to refactor the code so you don’t need the Shims anymore Then remove them

17

18 Manual/Exploratory Testing

19 19 UAT (Black Box to White Box) 80-100% Exploratory Testing Test Cases and Test Steps Coded UI Tests Selenium Tests Unit Tests and Integration Tests Manual testing Organized Manual Testing Automated Testing Code Tests

20 20 Why do Exploratory Testing? Testers are good at finding bugs Testers are notoriously bad at describing bugs At least from the developer’s perspective “Not repro!” “It works on my machine!”

21 21 Why do Exploratory Testing? Let Testers focus on finding Bugs Let Tools document the Bugs Rich diagnostic information automatically recorded Video, Screenshots, Action steps, Intellitrace, Test impact and more More efficient testers and better bug descriptions Devs and testers together solve more bugs in less time

22

23 23 How to do Exploratory Testing Test one PBI at a time Start from Acceptance Criteria Find a bug Capture the repro steps Create a test case (so this one doesn’t happen again)

24 24 Summary of Exploratory testing Verdict? Detailed bug reports (with screenshots) created easily Test cases with precise steps Tester can focus on testing! The tool records diagnostic info

25 25 From Exploratory to Organized Manual Testing 1 st step: create test cases (next step is to automate them) Organize Test Cases in Test Suites and Plans Team Project Test Plan(s) Test Suite(s) Test Case(s)

26 26 Test Plan Content - UI Test Suites Test Cases Test Plan

27 Automated UI Testing

28 28 Exploratory Testing  Automated Tests! Generate a Coded UI Test (CUIT) from a recording Use a recording from an existing test case or an ad-hoc recording Add an assertion to your test Enables functional testing/validation of the user interface Turns a manual test into an automated regression test Note: Automation saves time for the testers Note: But increases the load on developers

29

30

31 31 Summary of Coded UI Tests Verdict? Get devs and testers working together Automate to save the testers’ time Your test can: Be part of your build Run in lab environments Verbose Hard to maintain – one UIMap for all UI objects is root of all evil

32 32 UI Testing You can get Coded UI Tests right One UIMap file per object Use page object pattern (hand code a class per UI page) Marcel de Vries: http://blogs.infosupport.com/using-codedui-testautomation-without-uimap-files/ Code First: codeduicodefirst.codeplex.comcodeduicodefirst.codeplex.com

33 Web Based Test Management

34 34 Testing in Web Access “Web Test Case Management” or “Testing Hub” New in TFS 2012.2 Manage test cases in Web Access Substantially better in 2013 Create/Modify Test Plans through Web UI Open MTM from web Open Microsoft Test Runner from web (deep link) Paste images into work items in the web Cool – No need to install MTM! No impact on the test environment

35

36 36 Any Browser

37 37 Summary of testing in Web Access Test case management from the web Run tests from the browser Any browser or operating system No need to install MTM No recording (unless you “Run using client”) 

38 Lab Management

39 39 Lab Management Deployment and setup of a new build – complex and expensive TFS includes virtualized Test Lab Test environment – one or more VMs managed together Integration of Build and Lab Automated workflow: BUILD - DEPLOY- TEST Prepares the application for manual testing (saves a snapshot of the environment with the app. installed) Testing in all supported configurations easy

40

41 41 Summary of Lab Management Environments can be set up for any machine you have or using a pool of VM-s Tests can be run on these environments Automated Build – Deploy-Test workflow Consider using Azure VMs

42 42 Recap Testing in an Agile World Unit Testing Exploratory Testing Automated UI Testing Web-Based Test Management Lab Management

43 Q&A.

44 44

45


Download ppt "Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing."

Similar presentations


Ads by Google