Plugin Quality Check Penny Wyatt JIRA QA Team Lead Atlassian.

Slides:



Advertisements
Similar presentations
By Rick Clements Software Testing 101 By Rick Clements
Advertisements

Configuration management
Test Automation: Coded UI Test
SharePoint & The User Experience 31 May Presenting Today: Scott Jackson & Guy Stuhlmiller.
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
Extending JIRA Rachel Wright July 15, 2014 See slide “Notes” section for commentary and talking points.
Dawn Pedersen Art Institute. What is Spry? Spry is Dreamweaver’s version of JavaScript libraries. Spry effects alter the look of a page element—or of.
The DataFlex Web Framework Changing the Game Stephen W. Meeley Development Team Data Access Worldwide
XHTML & CSS 2 By Trevor Adams. Last week XHTML eXtensible HyperText Mark-up Language The beginning – HTML Web Standards Concept and syntax Elements (tags)
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Getting Started with XPages Presented by Jeff Byrd.
PUSH PUBLISHING POWER. Session Scope What is dotCMS Push Publishing How to set it up How it works & what can go wrong How to troubleshoot.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
1 of 4 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
November 3, 2011 Deborah de Bruin Building Digital Libraries.
RMsis – v Simplify Requirement Management for JIRA
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Systems Analysis and Design in a Changing World, 6th Edition
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
Software Testing Life Cycle
1 Microsoft’s Process Redmond in the 90’s Article by Roger Sherman, Director of Testing, Worldwide Products Group, Microsoft.
“Kuality” Assurance What does that look like? Scott Heise Indiana University KFS - Quality Assurance Manager Paul Sandoval University of Arizona KRA –
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Learning Web Design: Chapter 4. HTML  Hypertext Markup Language (HTML)  Uses tags to tell the browser the start and end of a certain kind of formatting.
XP Dreamweaver 8.0 Tutorial 3 1 Adding Text and Formatting Text with CSS Styles.
 CS 5380 Software Engineering Chapter 8 Testing.
T Iteration Demo Team WiseGUI I2 Iteration
Varun Sharma Application Consulting and Engineering (ACE) Team, Microsoft India.
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
CREATING TEMPLATES CREATING CUSTOM CHARACTERS IMPORTING BATCH DATA SAVING DATA & TEMPLATES CREATING SERIES DATA PRINTING THE DATA.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
A Practical Guide To Unit Testing John E. Boal TestDrivenDeveloper.com.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Web Applications Testing By Jamie Rougvie Supported by.
Building Secure Web Applications With ASP.Net MVC.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
With a hint of HP Quality Center Agile development and functional testing: friend or foe? Tom Vercauteren, June 26th, 2009.
HTML.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
Callista Enterprise Test Driven ESB Development Sofia Jonsson
 Shopping Basket  Stages to maintain shopping basket in framework  Viewing Shopping Basket.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
Unit 13 –JQuery Basics Instructor: Brent Presley.
WHAT IS USER ACCEPTANCE TEST? HOW IT IS DIFFERENT FROM SYSTEM TESTING?.
IE Developer Tools Jonathan Seitel Program Manager.
GETTING STARTED WITH VISUAL STUDIO.NET Getting Around Visual Studio.NET Using Panes Getting Panes back to normal The View Menu Online Resources Compatibility.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
T Iteration Demo LicenseChecker I2 Iteration
Web Technology Solutions
Software Engineering “Practical Approach”
Documentation Guidelines
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
This is a walk through of some new features and UI of Infiniti
Project Objectives Publish to a remote server
Developer Testing Tricks
Microsoft SharePoint Server 2016
1.
1.
Test Planning Mike O’Dell (some edits by Vassilis Athitsos)
Lecture 06:Software Maintenance
Think about your view of QA
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Presentation transcript:

Plugin Quality Check Penny Wyatt JIRA QA Team Lead Atlassian

Quality Assistance Help devs to deliver value to customers Testing and testing advice Bug prevention

Plugin Quality Process Make it work Make it lustworthy Make it maintainable Make it safe

Setting the Quality Bar Tradeoff between time, scope and quality Mismatched quality expectations - unhappy customers

Make it work “But I’ve already tested it, it works!” in the real world

Happy Path Fallacy “We’ll only worry about the happy path, for now” Only test the actions a normal, reasonable user would perform.

Happy Path Fallacy Quality bar defines what you fix, not what you test. OK not to support everything. Set customer expectations!

Valid Scenarios Sample Plugin Purpose-built but not contrived Completely unrelated to similar plugins on PAC! Only a short list, more detail on CAC

Valid Scenarios Different types of data Special characters Large data sets Long strings

Valid Scenarios Different browsers Layout issues Broken functionality Behaviour in unsupported browsers

Valid Scenarios Different use cases Session timeouts Deletions/Moves/Edits Anonymous access

Make it Lustworthy

User experience Guide users towards the actions they should do. Avoid empty boxes - use appropriate controls. Help them to avoid mistakes. Reading documentation should not be required.

Administration experience Clear flow for configuration Provide helpful error information Don’t show stack traces Use logging sparingly

Make it Maintainable

Manual and Automated Testing Manual testing Fast, effective, broad. Only tests the current state. Automated testing Scalable, sustainable. Takes time, limited assertions.

Automated Testing Good for long-term regression tests Optimise for: Scenarios most likely to break Integration with code out of your control Use page objects for UI tests for maintainability

Version Numbering Versions are constant A version number refers to one state of the code only. Never re-release a plugin with the same version number. 25

26 v2.5 Latest? Yes! v2.5 Help! v2.5 ??? v2.5 Argh! !!!!!!!!!

27

28

Version Numbering One version number means one binary. Always bump up the version number. 29

Make it Safe

How plugins break apps XSS Inserting user-supplied data into HTML without HTML-encoding it. Allows an attacker to gain control of the victim’s browser.

How plugins break apps Insufficient permission checking Exposing data to anonymous users Not respecting permission schemes

How plugins break apps Performance Synchronous external requests Unbounded memory allocation

How plugins break apps Lack of CSS scoping Scope every item in the plugin CSS Avoid overriding built-in styles Lack of JavaScript scoping (function () { // code goes here })();

Final check Made it work Made it lustworthy Made it maintainable Made it safe

Ship it!

#atlascamp TAKE-AWAYS Penny Wyatt