1 / 28

Testing your C#-based Windows Store app: Top 10 areas to look for bugs

Testing your C#-based Windows Store app: Top 10 areas to look for bugs. Francis Cheung (patterns & practices) Senior Software Development Engineer 3-133. Agenda. Background Top Problem Areas Demos Q&A. Background. Developed and tested Windows Store app: AdventureWorks Shopper

admon
Download Presentation

Testing your C#-based Windows Store app: Top 10 areas to look for bugs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Testing your C#-based Windows Store app: Top 10 areas to look for bugs • Francis Cheung (patterns & practices) • Senior Software Development Engineer • 3-133

  2. Agenda • Background • Top Problem Areas • Demos • Q&A

  3. Background • Developed and tested Windows Store app: AdventureWorks Shopper • Harvest learnings • Harvest reusable library (Prism for Windows Runtime)

  4. Top Problem Areas

  5. Suspend/resume & Terminate/relaunch • Validate app behavior when app resumes • Updated server data • Sensors • Use Visual Studio debugger to suspend/resume or terminate/relaunch every state of app

  6. Demo: Suspend/resume and Terminate/relaunch with Navigation

  7. Client updates • Simulate update with old settings and data • Copy old data into Local/Temporary folder • Detect data serialized in old format • Convert data to new format • Think about versioning of data!

  8. Demo: Client update issues

  9. Network connectivity • Test no/slow connectivity • Unplug/Disconnect • Fiddler • Metered connections

  10. Demo: Network connectivity issues and Metered connections

  11. Asynchronous code cancellation • Stephen Toub’s session (3-301): Async'ingYour Way to a Successful App with .NET • Test re-entering a page multiple times which starts multiple asynccalls

  12. Asynchronous code • Exception when tapping submit button repeatedly? • Test behavior when app starts async operations • Disable buttons • Control order of tasks

  13. Async Interleaving • Exception when updating deleted item? • Initiate multiple async operations • Don’t know when operations will complete. • If operations are related/dependent, strange things can happen

  14. Asynchronous code • Test your app with random delays in asynccalls • Use Fiddler to delay service calls public async Task<Customer> GetCustomerAsync(customerId) {#if DEBUG await Task.Delay(new Random().Next(500,2000)); #endif return await dataAccess.GetCustomerAsync(customerId);}

  15. Demo: Async interleaving

  16. Resolutions and orientations • Use simulator to test all resolutions and orientations • App should be functional in as many orientations and window sizes as possible

  17. Device testing • Local Machine • Simulator • ARM (Surface) • x64 and x86

  18. Localizability • Pseudo-localization • Use the Multilingual App Toolkit to generate pseudo translations • Add English (qps-ploc) from Control Panel > Language > 'Add a language'

  19. Demo: Pseudo-localization

  20. Accessibility • Try to use the app with eyes closed and Narrator turned on • Accessible visual experience • High contrast (black/white) • Text contrast (WAT-C Contrast Analyser) • Verify keyboard accessibility • Onscreen & physical keyboard Don’t forget about me!

  21. Demo: Narrator & High Contrast / Black and White

  22. Test against UX guidelines • Index of UX guidelines for Windows Store apps • Modal pop-up versus flyouts versus full page • When testing the app, review UX guidelines for: • App bars • Flyouts • Navigation • Layout • Animation

  23. Top Problem Areas

  24. Links • AdventureWorks Shopper reference implementation: • http://msdn.microsoft.com/en-us/library/windows/apps/xx130643.aspx • Francis Cheung (fcheung@Microsoft.com)

  25. Q&A

  26. Required Slide *delete this box when your slide is finalized Your MS Tag will be inserted here during the final scrub. Evaluate this session • Scan this QR codeto evaluate this session and be automatically entered in a drawing to win a prize!

More Related