How We Do Test Automation at HomeAdvisor

Slides:



Advertisements
Similar presentations
Which server is right for you? Get in Contact with us
Advertisements

DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
MyCloudIT Removes the Complexity of Moving Cloud Customers’ Entire IT Infrastructures to Microsoft Azure – Including the Desktop MICROSOFT AZURE ISV: MYCLOUDIT.
Findly Leads the World in Talent Innovation with Its Enterprise-Cloud for Global Talent Acquisition COMPANY PROFILE: FINDLY Findly is a SaaS ISV founded.
What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions.
Adra Match BALANCER: Balance Sheet Reconciliation Software Powered by the Microsoft Azure Cloud MICROSOFT AZURE ISV PROFILE: ADRA MATCH Adra Match develops.
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
Fundamentals of Database Chapter 7 Database Technologies.
Built on the Powerful Microsoft Azure Platform, Phyzit Helps Doctors Reduce Readmissions Through a Transitional Care Management App MICROSOFT AZURE ISV.
Testing in the Cloud with Tosca Testsuite: A Comprehensive Test Management and Test Automation Suite Built on Microsoft Azure MICROSOFT AZURE ISV PROFILE:
Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain.
Powered by Microsoft Azure, PointMatter Is a Flexible Solution to Move and Share Data between Business Groups and IT MICROSOFT AZURE ISV PROFILE: LOGICMATTER.
Gaining Unprecedented Visibility into Microsoft Dynamics CRM with Halo’s Pipeline Advisor, Powered by the Microsoft Azure Cloud Platform MICROSOFT AZURE.
+ Logentries Is a Real-Time Log Analytics Service for Aggregating, Analyzing, and Alerting on Log Data from Microsoft Azure Apps and Systems MICROSOFT.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
WHAT WE OFFER Go-To-Market Services MICROSOFT AZURE APP BUILDER PROFILE: MxHero MxHero, launched in 2012 in New York, is a cloud-based application that.
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
MICROSOFT AZURE APP BUILDER PROFILE: RAVERUS LTD. Raverus is a customer-driven company engaged in providing software applications designed to improve and.
KPI Suite is a Complete Web Application Built on the Azure Platform for Data Collection, Analysis and Monitoring of Key Performance Indicators MICROSOFT.
J2EE Platform Overview (Application Architecture)
Progress Apama Fundamentals
Appium Studio Appium testing made easy at any scale.
Connected Infrastructure
Wallpaper only – on screen during welcome and chat
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Meemim's Microsoft Azure-Hosted Knowledge Management Platform Simplifies the Sharing of Information with Colleagues, Clients or the Public MICROSOFT AZURE.
DocFusion 365 Intelligent Template Designer and Document Generation Engine on Azure Enables Your Team to Increase Productivity MICROSOFT AZURE APP BUILDER.
PLM, Document and Workflow Management
Hybrid Management and Security
Microsoft Operations Management Suite Insight and Analytics
Partner Logo Veropath Offers a Next-Gen Expense Management SaaS Technology Solution, Built Specifically to Harness Big Data Analytics Capabilities in Azure.
Docker Birthday #3.
Insurance Fraud Analytics in the Cloud with Saama and Microsoft Azure
Connected Infrastructure
Build a website like Amazon/Ebay/Etsy/Airbnb - experiences and advice.
Configuration Management with Azure Automation DSC
API Testing and Continuous Integration
Aston iTF Hosted on Microsoft Azure Helps Finance Departments Optimize Accounts by Developing Customer Receivables and Outstanding Invoices Partner Logo.
Veeam Backup Repository
SENIOR MANAGER - SOFTWARE TESTING PRACTICE
Exploring Azure Event Grid
OpenNebula Offers an Enterprise-Ready, Fully Open Management Solution for Private and Public Clouds – Try It Easily with an Azure Marketplace Sandbox MICROSOFT.
Quality assurance platform for mobile apps, available as hosted SaaS or onsite deployment
Microsoft Azure Platform Powers New Elements Constellation Software Suite to Deliver Invaluable Insights From Your Data for Marketing and Sales MICROSOFT.
Power Apps & Flow for Microsoft Dynamics SL
Yellowfin: An Azure-Compatible Business Intelligence Platform That Connects People with Their Data for Better Decision Making MICROSOFT AZURE APP BUILDER.
Logsign All-In-One Security Information and Event Management (SIEM) Solution Built on Azure Improves Security & Business Continuity MICROSOFT AZURE APP.
Utilizing the Capabilities of Microsoft Azure, Skipper Offers a Results-Based Platform That Helps Digital Advertisers with the Marketing of Their Mobile.
Why many Automation Frameworks? when ONE can do ALL
Accelerate Your Self-Service Data Analytics
CloudLabs, Powered by Azure, Enables the Quick, Easy, Cost-Effective Management, Distribution of Online Training Labs for Education and Business MICROSOFT.
Introducing Qwory, a Business-to-Business Search Engine That’s Powered by Microsoft Azure and Detects Vital Contact Information for Businesses MICROSOFT.
Simplified Development Toolkit
Dell Data Protection | Rapid Recovery: Simple, Quick, Configurable, and Affordable Cloud-Based Backup, Retention, and Archiving Powered by Microsoft Azure.
Adra ACCOUNTS: Transaction Matching Software Powered by the Microsoft Azure Cloud That Helps Optimize the Accounting and Finance Processes MICROSOFT AZURE.
Keep Your Digital Media Assets Safe and Save Time by Choosing ImageVault to be Your Digital Asset Management Solution, Hosted in Microsoft Azure Partner.
Appcelerator Arrow: Build APIs in Minutes. Connect to Any Data Source
Media365 Portal by Ctrl365 is Powered by Azure and Enables Easy and Seamless Dissemination of Video for Enhanced B2C and B2B Communication MICROSOFT AZURE.
Abiquo’s Hybrid Cloud Management Solution Helps Enterprises Maximise the Full Potential of the Microsoft Azure Platform MICROSOFT AZURE ISV PROFILE: ABIQUO.
AIMS for BizTalk, Built on the Microsoft Azure Platform, Empowers Enterprises to Automate Insight and Analytics and Boost Value Creation MICROSOFT AZURE.
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Agile testing for web API with Postman
Bringing more value out of automation testing
CS130 Spring 2018 Hi Everyone, hope you are enjoying ShopTalk so far
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Scaling Businesses on the Cloud
7.3 Example Use Cases Spirent Automation Platform Technologies.
COMPANY PROFILE: REELWAY
Mark Quirk Head of Technology Developer & Platform Group
Containers and DevOps.
Presentation transcript:

How We Do Test Automation at HomeAdvisor A last-minute production

Who Am I? Nicholas Rosevear - QA Automation Architect At HomeAdvisor for 11 months Previously worked at Shutterstock, Pearson, IQNavigator and EchoStar

A Look at Our Company Customer Facing Application 2 Sided Marketplace Domestic US/Canada User Base Dealing With a Rapidly Increasing User Base Large Scale Integration With Social Media Companies

A Look at Our Architecture Java Oracle DB & ElasticSearch Coherence Memory Cache Kafka Data Pipelines Node – Front End DevOps Managed through Jenkins Google Analytics, Adobe Omniture Moving to a Massive Microservice Architecture

A Look at Our Test Architecture Java/Spock - Unit/Integration Tests Java/TestNg/Appium – Mobile Automated Tests NodeJs/Nightwatch/Mocha – UI Automated Tests NodeJs/Supertest/Mocha – API Tests NodeJs/BenchRest - Performance Testing NodeJs/Express/Casperjs – Performance Testing NodeJs/Express – Assorted Other Monitoring/Assistance Tools Java/TestNg/Selenium - Legacy Automated UI Tests Jmeter – Legacy Performance Tests

How Did We Get Here? Deciding Between Needs and Wants High Test Coverage Usable/Maintainable Tests Fast Performance Testing and Trending Analysis Test Data Management for Complicated Test Setup/Teardowns Wants Better CI/CD Infrastructure Useful Documentation Simplified Test Execution and Reporting More Thorough Security/Compatibility Testing

So What Did We Do? Built a new UI framework to replace unstable long running legacy tests Built a dynamic API test framework to generate tests on its own and enforce consistency Built easy JSON config file driven performance testing Built internal Test API and sites to manage data creation/validation across tools and for manual testers

So What Did We Do We took advantage of simplicity of Express Easy to Display and Document Easy to Train and Teach

The Blurred Line Between Automation and DevOps At some point we drifted out of Test Engineering Everything can be automated Tools for the company Monitoring CI/CD Efforts

UI Automation - Nightwatch Built in NodeJs with Nightwatch Built to focus on readability and simplicity to create And easy to understand output and test results Built to consider switching technologies

Mobile Automation – Unnamed Page Object Built as a One-Off for the Mobile team Basic Page Object style framework built on top of Appium Same concepts as Nightwatch Easy to use Maintainable Flexible across mobile devices

API Automation – Api-Tite We are dealing with 500+ unique API Endpoints Legacy and New Endpoints Multiple teams, multiple standards, multiple test coverage Created a framework to sit on top of swagger and build a database of all APIs and dynamically generate tests Readability not prioritized Guaranteed Coverage Immediate Test Detection Security Coverage Ability to enforce consistency

Performance Testing - Scattershot Had a couple of close calls with performance issues Rapid development cycle means a need for performance testing with little advanced notice Built a framework built around using simple config files to generate tests Tracking performance across different numbers of concurrent connections and iterations Allowing dynamic setup for testing to test more difficult endpoints like DELETE Long term analytical engine for trending and comparison

QA/Automation Support - Zamboni With more tools we were running the risk of duplicated effort There were security concerns and other testing efforts that required quick access to data We created a tool Our own test server complete with Endpoints for data creation/validation Abstraction of common DB queries/API calls to consolidate and visualize information Ability to quickly add support for testing efforts

Performance Testing - Ichabod We want to do more exotic testing Chaos and Disaster Recovery Testing Realistic Load-Runner style load testing We Built A Tool To allow a network of machines to generate load on an environment Using UI testing scripts made headless for efficiency Manageable from a single hub site Easy to expand scripts and configurable to choose what type of load to add to the system Real Time results and updateability

Reporting/Monitoring – Jenkins Crawler We have a lot of tests running Across a number of Jenkins jobs Determining overall health or specific health for certain applications teams is difficult Building a Jenkins Crawler Pulls data from various Jenkins jobs and stores To allow analysis of success, number of test pass/fail historical accuracy To allow simple email reporting for overall health based on Jenkins results Potentially to implement full CI/CD pipelines

QA And Automation Support - HostManager Finally just a quick example of using automation to solve problems Created a simple host server to manage host files across company Gives us a way to guarantee everyone has the same host entries Allows automation to be able to change hosts remotely

So What’s Next? Docker, docker, docker Integration with Sauce Labs Simplified Test Creation – No Programming Required RabbitMQ message queues to manage jobs, data creation and reporting A specific security testing suite Maybe switching technologies And of course more dashboards