+ All Categories
Home > Technology > QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Date post: 29-Nov-2014
Category:
Upload: bhumika2108
View: 294 times
Download: 2 times
Share this document with a friend
Description:
 
31
QAing INFRASTRUCTURE A QA's Role in DevOps World by Aroj P George Harshad Wankhede
Transcript
Page 1: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

QAing INFRASTRUCTUREA QA's Role in DevOps World

byAroj P George

Harshad Wankhede

Page 2: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

What is Infrastructure Testing?

Page 3: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Typical Development Environment - Single Server

LIDB

ServiceApp

WEB

SERVER

Mocked ThirdParty Services

Developer/QA Laptop

Page 4: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Production Infrastructure – Multi-Tier

Replica Set

DB

DB

DB

LOAD

BALANCER

Service

Service

Service

App

App

App

LOAD

BALANCER

CDN

Third Party Services

Page 5: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Application Ecosystem

Firewalls and VPN and Secure Access Rules

Network Configuration

Storage Configuration

Virtualization

Authentication and Authorization Rules

System Services

Network Services

Operational Processes

Libraries

Application

Page 6: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

What if we don’t test the infrastructure?

Page 7: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede
Page 8: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

What is DevOps?

It’s a mindsetBridges gap between Developers and Operations

Page 9: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

What to Test?

Page 10: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Database Failure ScenariosDo we have proper error handling, logging and alerting in place for below scenarios?

if the application is unable to read data Network issues DB Primary is down

Does the DB Primary failover if it goes down?Does the application keep running

Do we have alerts for the below?Replication has failedDB backups are not happeningDB high resource utlilization DB queries are very slow

Page 11: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Application Performance Issues

Do we have monitoring for high resource utilizationAre we tracking the response times for application and dependent web servicesAre we tracking errors generated in the logs?Do we get alerts if a cron job fails to run or if it errors?Ex: Newrelic, Nagios, Ganglia metrics collection, Executing Performance Testing scripts regularly

Page 12: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Server or Services are Down

How does the system react to database failureHow does the system react to application failureHow does the system react to third party service failureWhat happens if the load balancer is downEx: Chaos Monkey

Page 13: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Logging and Archiving

Have you configured appropriate logging?Are the logs being properly indexed and rotated?Do you maintain log history using tools like Splunk?Are the DB backups being archived?

Page 14: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Application Errors

Do we show appropriate error pages for various errors500, 503, 404 Pages

What happens if there is a sudden increase in the rate of errors?

Do we get alerted regarding the same.

Page 15: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Resource Consumption Issues

Have you configured alerting for CPU usage?Have you configured alerting for Memory usage?Have you configured alerts for Disk Utilization?

Warning if utilization reaches 80%Critical if utilization reaches 95%

Page 16: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

CPU Usage

Page 17: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Memory Usage

Page 18: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Network Usage

Page 19: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Third Party Service Failure

Have you configured alerting when third party services are down?

Page 20: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Security

Have you blocked access to admin configuration?Have you configured firewall rules properly?Penetration Testing

Page 21: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

CachingHave you validated application caching?Ex: CacheWarp

Page 22: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Cross functional/Non Functional RequirementsTesting infrastructure is nothing but testing the Cross-

functional Requirements

Page 23: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Chef Recipe

Page 24: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Chef - Templatize Configuration

Page 25: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Chef Demo

Chef is a systems and cloud infrastructure automation framework that makes it easy to deploy servers and applications Infrastructure as CodeKnife is a Chef utilityUsing the Knife SSH command to test the infrastructure

Page 26: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

RSpec Tests

Demo

Page 27: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

CacheWarpDemo

https://rubygems.org/gems/cachewarp

Page 28: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

QA Skills Required:

Good Understanding of the InfrastructureAbility to foresee Issues Command-line proficiency, VimAbility to debug and troubleshoot issuesShould be able to write automated tests (rspec)Basic shell scripting knowledge

Page 29: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Myths about Infrastructure Testing

No need to test Infrastructure. If it works locally it will work on any environmentApplication and Infrastructure Testing strategies are similarApplication Testing is more important than Infrastructure TestingThere aren’t too many different things to test in infrastructureThere is no business value in testing Infrastructure

Page 30: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

ToolsChef + KnifeGangliaSplunkGONagiosMingleCacheWarpVagrantVimTmuxPutty

Page 31: QAing INFRASTRUCTURE- A QA's role in the DevOps World-Aroj P George & Harshad Wankhede

Questions


Recommended