Beyond the UI Using Tools to Improve Testing Jeremy Traylor

Slides:



Advertisements
Similar presentations
REST &.NET James Crisp.NET Practice Lead ThoughtWorks Australia.
Advertisements

How to Build a REST API Using ASP.NET Web API Fernando Cardenas 10/8/20131.
Esri International User Conference | San Diego, CA July 14, 2011 Troubleshooting ArcGIS Web APIs (JavaScript, Flex, Silverlight) from a Support Perspective.
Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
UFCE8V-20-3 Information Systems Development 3 (SHAPE HK)
Advanced Web Debugging
Cisco Confidential © 2010 Cisco and/or its affiliates. All rights reserved. 1 Cisco Unity Connection Cross- Origin Resource Sharing (CORS) for VMRest APIs.
Web API for Mobile JaxARCSIG April About Me David Fekke L.L.C. Mobile apps for iOS Regular presenter at JaxDUG, JSSUG and JaxFusion Writing Web.
INTRODUCTION The Group WEB BROWSER FOR RELATION Goals.
How the web works: HTTP and CGI explained
Multiple Tiers in Action
Hypertext Transport Protocol CS Dick Steflik.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
Web Services 101 James Payne Managing Director for New Media / Advancement July 30, 2013.
WEB SECURITY WORKSHOP TEXSAW 2013 Presented by Joshua Hammond Prepared by Scott Hand.
Presented by…. Group 2 1. Programming language 2Introduction.
© 2011 Autodesk Automating Autodesk® Revit® Server Rod Howarth Software Development Manager – Bornhorst + Ward.
WaveMaker Visual AJAX Studio 4.0 Training Troubleshooting.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
SUNY Polytechnic Institute CS 490 – Web Design, AJAX, jQuery Web Services A web service is a software system that supports interaction (requesting data,
Advanced Database Management System Lab no. 11. SQL Commands (for MySQL) –Update –Replace –Delete.
Introduction to InfoSec – Recitation 7 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
Tools for Web Applications. Overview of TCP/IP Link Layer Network Layer Transport Layer Application Layer.
GET Examples – db.org/sops/3/experimental_conditions/55http://seek.sysmo- db.org/sops/3/experimental_conditions/55 –
CollectionSpace Service REST-based APIs June 2009 Face-to-face Aron Roberts U.C. Berkeley IST/Data Services.
CouchDB - Sai Divya Panditi - Priyanka Yechuri. Overview Introduction SQL vs CouchDB CouchDB Features CouchDB Core API Futon Security Application.
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
Or, Hey can’t we just do it using HTTP for the envelope?
Copyright © Cybage Software Pvt. Ltd. All Rights Reserved. Cybage Confidential. Drupal Web Services 1 Authored by: Chaitanya Anil Kulkarni Presented.
Introduction to the SharePoint 2013 REST API. 2 About Me SharePoint Solutions Architect at Sparkhound in Baton Rouge
HTTP1 Hypertext Transfer Protocol (HTTP) After this lecture, you should be able to:  Know how Web Browsers and Web Servers communicate via HTTP Protocol.
API Crash Course CWU Startup Club. OUTLINE What is an API? Why are API’s useful? What is HTTP? JSON? XML? What is a RESTful API? How do we consume an.
The Basics of HTTP Jason Dean
1 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 2: REST Details and Patterns Some.
RESTful Web Services What is RESTful?
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
HyperText Transfer Protocol (HTTP) Deepti Kulkarni CISC 856: TCP/IP and Upper Layer Protocols Fall 2008 Acknowledgements Professor Amer Richi Gupta.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Essential tools for implementing and testing websites
API (Application Program Interface)
Content from Python Docs.
Better RESTFul API – Best Practices
Data Virtualization Tutorial… CORS and CIS
Node.js Express Web Services
C++ Tango REST API implementation
An introduction to REST for SharePoint 2013
Hypertext Transfer Protocol
Introduction Web Environments
HTTP, RESTful Web Services, HTTP and REST Tools: Postman, Fiddler
Testing REST IPA using POSTMAN
WEB API.
Distributed architectures
Web Browser server client 3-Tier Architecture Apache web server PHP
Building Self Describing Web APIs
API DOCUMENTATION Swetha Mohandas Microsoft Connect 2016
A gentle introduction to RESTful APIs
Chengyu Sun California State University, Los Angeles
Building production-ready APIs with ASP.NET Core 2.2
Web API with Angular 2 Front End

Python and REST Kevin Hibma.
MIS2502: Data Analytics MySQL and MySQL Workbench
Generate Header & URL Install PostMan for Chrome (looks like a man with a jetpack) Under the auth tab, set it to basic Put in the admin username and password.
A gentle introduction to RESTful APIs
Distributed architectures
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
WCF Data Services and Silverlight
Chengyu Sun California State University, Los Angeles
Presentation transcript:

Beyond the UI Using Tools to Improve Testing Jeremy Traylor

Using tools can improve your testing!  Using tools like the ones we will discuss today, you can gain a deeper understanding of the systems you test, and ultimately provide better testing.

Agenda  Intro  API Overview  Browser Developer Tools  API Testing Tools  DB Tools  Wrap up (followed by questions)

Getting to Know You

Getting to Know Me

What’s an API?  API stands for Application Programming Interface. API’s allow developers to use predefined functions to interact with the operating system or platform.  While the UI is the customer view of the application the API is the developer view of the application.

What Does That Look Like?  URL:  Method: The action to be taken on the resource  Request Headers: Method, Authorization, Content-Type  Request Body: JSON (JavaScript Object Notation)  For POST, PATCH, PUT  Response Header: Status  Response Body: JSON

REST API Methods  POST – Create  PUT – Create/Update  GET – Read  PATCH – Update  DELETE – Delete  This is often an update of a status field or isActive field rather than a true delete  OPTIONS – see methods supported for a route

Common HTTP Status Codes  10.2 Successful – 2XX  Examples: 200 OK, 201 Created, 202 Accepted  10.3 Redirection – 3XX  Examples: 301 Moved Permanently, 302 Found, 304 Not Modified  10.4 Client Error – 4XX  Examples: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 405 Method Not Allowed  10.5 Server Error – 5XX  Examples: 500 Internal Server Error, 501 Not Implemented, 503 Service Unavailable

Browser Developer Tools  These tools are built into web browsers to help developers build and debug web applications.  See API’s being called from the UI  See Errors/Investigate Failures  Filtering  for errors, warning in console  For types of request in network tab  Execute JavaScript expressions

Developer Tools Reference  Built in dev tools:  Chrome -  Firefox - US/docs/Tools  IE - us/library/dd565628(v=vs.85).aspx  Add-ons/Extensions:  Firebug -  Fiddler -

Why test API’s?  Test scenarios not possible in the UI  Troubleshoot failures observed in the UI  Test many scenarios quickly  Test before UI is available (or if unavailable)  Better understanding of middle tier

API Testing Tools Reference  Postman -  SOAP UI - soapui/what-is-soapui-.html  Advanced Rest Client - nced%20rest%20client  Parasoft SOAtest  Jsonlint.com – check/format valid json

DB Tools or Database Management Systems (DBMS)  These tools allow you to interact with the databases utilized by your application.  Use select statements to read data from the DB  “Describe” type statements to find information on fields in a table such as names, data types, length, etc  Better understanding of system

Basic SQL  SELECT TOP (10) * FROM [TABLENAME] ORDER BY [FIELDNAME]  SELECT * FROM [TABLENAME] WHERE [FIELDNAME] = [VALUE]  SELECT [FIELDNAME1], [FIELDNAME2] FROM [TABLENAME] WHERE [FIELDNAME3] = [VALUE] OR [FIELDNAME4] = [VALUE]  SELECT TN1.[FIELDNAME1], TN2.[FIELDNAME2] FROM [TABLENAME1] TN1, [TABLENAME2] TN2 WHERE TN1.[FIELDNAME3] = TN2.[FIELDNAME4]

DB Tools Reference  SQL Fiddle - sqlfiddle.com  SQL Server Management Studio   MySQL   TOAD   MS Access 

So…What Now?  Open up the developer tools when testing in a browser  Download and try an API testing tool  Get access to and gain familiarity with the DB tool used where you work