DevOps
QA NJ just held our A
ugust Meetup on Test Automation Tools and Processes with Polina Rodov and Kamlesh from Medidata, Anil Jaising from JP Morgan Chase and myself, Tanya Kravtsov, from Audible. The venue, food and refreshments were provided by Audible at a state-of-the-art, vast office space in
Jersey City with amazing views of the NYC skyline. The main topic of the meetup was Testing and Test Automation tools and processes and how they are used in different companies.
Takeaways from QUEST and StarEast
After fun netw
orking over pizza, wine and beer, I kicked off with an overview of my takeaways from Quest and StarEast QA Conferences. I gave a brief summary of the session that I presented at the conference titled “The Road to DevOps” followed by highlights from the most memorable sessions on Test Automation, Metrics and Mobile Testing. I focused on the importance of identifying and addressing the bottlenecks in the product delivery cycle which include manual processes such as test data management, environment configuration and test
execution.
WOW (W-What we do O – on time W- with tools) at Medidata
Next, Polina and Kamlesh from Medidata presented Tools and Frameworks used at Medidata (which provides cutting edge clinical solutions). The unique presentation style portrayed the overall solution as a cooking pot, with tools presented as ingredients and testing as degustation. Medidata solutions are built on top of Service Oriented Architecture and utilize tools such as Jasmine and Cucumber for automation, Github, TravisCI and HipChat for CI, Medistrana and GoCD for deployment, Mist, JIRA Capture and Bug Magnet for testing, and SumoLogic and NewRelic for monitoring.
Polina and Kamlesh also spent some time describing VCR, an alternative way of mocking APIs. VCR allows to run the tests against prerecorded response, but still faces challenges if cassette files become stale due to backend service changes. The session was followed by intense Q &A covering Code Coverage tools, PACT and minimizing cycle time.
Acceptance Test Driven Development
Our last session of the day was ATDD (Acceptance Test Driven Develoment) with Anil Jaising, Executive Director at JP Morgan Chase. Anil set the background by talking about history of Lean which came from manufacturing, specifically Toyota factory. It is
very important f
or Testers and to be able to pull the chord whenever they find a critical defect. Anil suggested reading the IEEE paper by Robert Martin and Grigori Melnik, the primary point of which is that we need to start thinking about testing while requirements are still developed and avoid assuming that testing is testing. He then gave a great definition of ATDD – from user stories to business value, ATDD is a team sport as opposed to test driven development which is more individual.
At the end of the sessions, we had some great conversations with group members who stayed behind. Looking forward to our next session. To learn more about exciting opportunities at Audible visit http://about.audible.com/



ompany. His team of 13 web developers works on delivering six of the Billtrust SaaS products and uses Codeception, a PHP-based BDD framework to test.
hatia from Cloudbees gave a talk on Jenkins pipelines and Gerrit Code reviews.
rimary challenges in this scenario are that you want to fail-fast—report CI results as soon as any steps fail and make sure there are no orphaned builds.
Kishore then gave a great demo of the flow and answered questions from the audience which covered parallel commits and test data management.

book recommendations including, “Continuous Delivery” by Jez Humble, “Release It!” by Michael Nygard and “The Phoenix Project” by Gene Kim.
e Linear, Parallel and Layered (with artifact promotion and release channels). Linear is the simplest pattern, which works for simple applications. With a parallel pattern, you start to parallelize where possible; however, that might create dependencies and make it difficult to reorder. The layered pattern encourages parallelizing but prevents direct dependencies between stages.
others. Gary used the Microservices example to demonstrate how to do continuous delivery with loosely related applications or services.


ur November Meetup on Jenkins Workflow with Kishore Bhatia and Isaac Cohen from CloudBees as speakers. The venue was provided by 
o automate and scale pipeline steps and tools and solve common pipeline problems such as Parallelism, Branching, Looping, Restarts, Checkpoints, Manual Input, etc. Jenkins Workflow is mostly open source with some advance features offered via enterprise edition by CloudBees. Workflows can be defined in one concise script, with a groovy-based DSL and 15 simple keywords.
At the end of the session, Kishore and Isaac gave us a glimpse of Jenkins 2.0 release which includes focus on Continuous Delivery use cases and UI/UX improvements.

touched upon big data saying that the term “big data” is a misnomer, it should be “huge data” instead.
Next, Shawn gave an exciting overview of MongoDB, starting with how it got started and deep diving into the functionality. MongoDB is a cross-platform document-oriented database. While MongoDB is classified as a NoSQL database, it also supports relational structures. Instead of breaking up data into multiple relational structures, MongoDB can store it in the small number of documents. Shawn went thru the reasons why divelopers like Mongo, which include the following 1) it was built by developers for developers, 2) very easy to setup, 3) availability, 4)automatic partitioning of data, 5) view of the data is abstracted out from the application. MongoD
B does not have transactions or joints and should not be used for transaction based banking data, but it’s a great tool for storing log data, user profiles, user-generated content and location based data. Shawn also covered Rich Query model and how Mongo can be used for real-time analytics. If you would like to learn more about MongoDB, you can reach Shawn at shawn.mccarthy@mongodb.com

chael gave a great introduction to Environment Automation by giving a live demo of BCMT – Bash Configuration Management Tool – which he developed to demonstrate 2 critical concepts – Idempotence and Convergence. Idempotence means that multiple applications of the same action do not have side effect on the system state while convergence means to bring system state in line with a defined polic
erprise. Puppet Enterprise offers everything available in Open Source edition, plus support, training and a web based GUI. Puppet allows to automate provisioning for physical machines, as well as VMs, Docker containers, and AWS instances. One of the reasons Puppet is so powerful is due to the variety of the existing modules that are available from Puppet community.

vOpsQA NJ
ampon gave a great introduction to Docker and container technology. He spoke about how Docker allows to build, ship and run any app, anywhere with almost no overhead. We also discussed how Container technology is different from VM and future plans of Docker on Windows.
rief overview of the Joyent technology which offers container native infrastructure that runs in public and private cloud. We all want to run Docker on bare metal, but don’t want to lose security and elasticity. Joyent provides a way to do this without the overhead attributed to VMs. The Triton Elastic Container Infrastructure is build on top of SmartOS and provides its implementation of the Docker API, with full support for the Docker client and related orchestration tools. The advantages are the ease of management and improved performance from running on bare metal. We also got a live demo of the software that runs SmartDataCenter (software that runs the Joyent public sloud and powers private clouds) all the way from install to provisioning customer containers.







