This document discusses the history and current approach to parallel iOS automation testing at Badoo. It describes moving from a single simulator approach that took 15 hours to run 500 tests to using multiple desktops in parallel, reducing the runtime to 2 hours with 10 simulators. It then discusses further optimizing to run multiple simulators on one desktop using Facebook's WebDriverAgent, reducing runtime to 90 minutes with 16 simulators. The approach combines Calabash and WebDriverAgent, termed "Facebash", allowing parallel testing while retaining Calabash features.
This document discusses Drupal's project management tools and resources for module maintainers, including automated testing, documentation, issue tracking, and community support. It highlights how some popular modules grew large developer communities that fixed over 90% of critical bugs through these resources. The document encourages contributors to write tests before committing code and review patches through the issue queue. It also lists projects needing maintenance help and provides contact information.
Talk given at floss uk 2017 about how to fully automate your Jenkins setup, from the service to the jobs.
Arquillian is an innovative and highly extensible testing platform for the JVM that enables developers to easily create automated integration, functional and acceptance tests for Java middleware, from Java EE and beyond. For years we’ve been exploring how to layer and separate our code to test in isolation on the unit level. We’ve kept integration and functional testing as a big ball of mud; jumping straight from unit to full system testing. But can we apply some of the same lessons learned from unit to integration testing? Speaker Bio: Arquillian project lead, Aslak Knutsen, is a Senior Software Engineer at Red Hat where he is working on projects such as Arquillian and ShrinkWrap, one of the founders of the JBoss Testing initiative and a speaker at major industry conferences including JavaOne, Devoxx, Jazoon, JFokus, Geecon, JUDCon and JBoss World.
This document discusses Jenkins Pipelines, which allow defining continuous integration and delivery (CI/CD) pipelines as code. Key points: - Pipelines are defined using a Groovy domain-specific language (DSL) for stages, steps, and environment configuration. - This provides configuration as code that is version controlled and reusable across projects. - Jenkins plugins support running builds and tests in parallel across Docker containers. - Notifications can be sent to services like Slack on failure. - The Blue Ocean UI in Jenkins focuses on visualization of pipeline runs.
At some point, we reached the limit of the existing build process in the Grammarly Editor monorepo. Build tools required too much time to support, and each new package increased build time and made dependency management harder. To move further, we had to rethink the architecture of the build process. Our solution: We switched to Bazel. In this talk, I will share our findings and how we made the architecture of the build process scalable and predictable.
This deck presents what Java 9 brings and what goes away. Also, very high level what you need to do to be prepared.
This presentation will dive into testing with Docker Containers * Building Docker containers and testing with Serverspec * Testing Docker Compose with Serverspec * Taking advantage of Docker sibling containers to run serverspec in a container * Running large test matrix with Serverspec * Demonstrate using pry/pry-rescue to debug large test The lab is available at: https://github.com/nanliu/docker-serverspec
- The document discusses deploying JHipster microservices. It begins by generating a JHipster microservices application and configuring options like the application name, database, and authentication. - The application is then generated, creating all necessary files and scaffolding for the microservices architecture. - Options selected include PostgreSQL for the production database, JWT authentication, and HazelCast for caching.
The document discusses how to speed up development of Groovy and Grails applications using GroovyServ and the Improx plugin. GroovyServ launches Groovy faster by pre-invoking it as a server. The Improx plugin allows running Grails tests and commands from an IDE by connecting to an interactive Grails shell via TCP/IP. This avoids restarting the JVM for each test and provides autocompletion. Demostrations show how these tools improve development workflow by making Groovy and test execution much faster.
The document discusses the history and growth of Jenkins, an open source automation server. It began in 2004 as a personal project by Kohsuke Kawaguchi to automate builds. Over time it grew popular and now has over 470 plugins to support various tasks. The number of plugins and releases has increased dramatically each year as more developers contribute to and use Jenkins.
For you lazy coders out there, we offer the visual aids for the first 3 chapters of "Java Build Tools: Part 2 - A Decision Maker's Comparison of Maven, Gradle and Ant + Ivy". Here you can find the raw scores given to each tool based on 6 feature categories. **Download the full report to see Chapter 4, mapping the features against different user profiles**
This document discusses building automated acceptance tests that are stable and maintainable for continuous delivery. It emphasizes that developers should own acceptance testing by writing tests in the same way they write production code. This includes writing many unit and regression tests, optimizing for test execution, using immutable environments like Docker for isolation, and leveraging techniques like parallelization and separation of concerns with domain-specific languages. The document also provides examples of testing strategies, tools, and processes that can help achieve this goal.
iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops - a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple's new XCTest framework. The automation community (Appium, Calabash etc.) were faced with a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework? I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Hybrid Approach based on multi-simulators and XCTest framework, using Facebook open-source tools.
Mostraremos el caso real de cómo tenemos implementado en nuestra empresa el flujo de desarrollo para integración y entrega continua, instrumentado con GitLab. Sesión presentada por David Padilla en SG Next 2017
This document introduces TestContainers, an open source Java library that supports integration testing for applications that depend on external resources like databases. It allows tests to use real Docker containers to manage these dependent services. Tests run quickly and are portable across environments because the containers are started and stopped for each test. The document provides examples of using TestContainers with Spring Boot tests to launch containers for PostgreSQL and Redis, and to configure a MockServer container to handle external API dependencies. It suggests TestContainers is useful for testing microservices and Java agents that depend on external services or APIs.
Capistrano and Jenkins can be used together to automate the build, deployment, and management of Java web applications on clusters of servers. Capistrano allows deploying code to multiple servers and managing services, while Jenkins provides continuous integration by automatically building, testing, and deploying code changes to different environments like development, testing, and production. When a build succeeds in Jenkins, it can trigger Capistrano tasks to deploy the new code to servers and restart services. This achieves automated and versioned software releases across server clusters.
This document compares Drupal 7 and Drupal 8. Some key differences include Drupal 8 requiring PHP 5.3.10 instead of 5.2.4, using a Composer autoloader instead of includes, and handling requests through a Symfony kernel instead of hook_bootstrapping. Drupal 8 also uses more Symfony components like events and services. The rendering process is updated with new classes like HtmlPage and HtmlFragment. Drupal 8 removes hook_menu() and replaces it with routing files and services.
Доклад Натальи Казаковой на конференции SQA Days-21 www.sqadays.com
Доклад Александра Иванова на конференции SQA Days-21 www.sqadays.com
Доклад Дмитрия Химиона на конференции SQA Days-21 www.sqadays.com
Доклад Павла Иванова на конференции SQA Days-21 www.sqadays.com
Доклад Андрея Павлова на конференции SQA Days-21 www.sqadays.com
Доклад Димы Иванова на конференции SQA Days-21 www.sqadays.com
This document discusses various techniques used by magicians and illusionists to distract and misdirect audiences. It notes that only a small percentage of our brain is needed to perceive our surroundings, leaving room for distraction. Slight of hand techniques rely on engaging the audience in conversation or otherwise occupying their attention. The document also discusses cognitive biases and how software and websites can be designed to subtly influence users through framing effects and A/B testing of content and layouts.
Доклад Лилии Абдулиной на конференции SQA Days-21 www.sqadays.com
Доклад Алексея Петрова на конференции SQA Days-21 www.sqadays.com
iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops – a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple’s new XCTest framework. The automation community (Appium, Calabash etc.) faced a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework? I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Facebash Approach based on multi-simulators, Calabash server and Facebook Web Driver Agent.
The slides for a talk I delivered at the Triangle area .NET group about the emergency of choice in .NET and highlighting 10 specific open source tools.
1. The document introduces Swift Localhost, a tool for writing localhost UI tests in Swift. It allows setting up a mock localhost server to handle API requests from the app under test. 2. Common problems with traditional end-to-end tests like brittle tests and slow execution are discussed. Localhost UI tests address these by mocking API responses at a faster, isolated integration level. 3. The key aspects of setting up and asserting localhost requests are explained, including routing requests to the localhost server, configuring mock responses, and validating the expected request paths and cURL commands.
Talk at rootconf - A conference at Bangalore for sysadmins. Gist of the talk:- Puppet is a great configuration management tool and git is great at version controlling.AWS lets you create instances in few clicks. But when it comes to large deployments only automation(where tools come together) can make you productive and happy. I will take you through following.. Fog - The Ruby cloud services library and how it helps you to create vendor neutral cloud deployments, Puppet- Multi region puppet masters, Ruby- How Ruby pulls the strings together in EC2/ELB/RDS creation, Security group creation, IP authorization, Route53 DNS etc, Git- how we use git to version control deployment configs/configurations.
A presentation I gave at the March 2013 Tokyo iOS Meetup. It covers some of the trends I see emerging in App Development.
Google App Engine is a PaaS that allows developers to build and host web applications in the Google cloud. The document summarizes a workshop on using the Java runtime environment on GAE. It discusses the SDKs, deploying and managing apps on GAE, data storage using the datastore, and limitations like the 30-second request limit. The biggest benefits of GAE are scalability and low startup costs, while the hardest limit is the 30-second request processing time.
Discussion of how Photobucket uses SaltStack in its Ops organization. And specifically the NetAPI feature.
The document discusses problems with Apple's UIAutomation testing framework and proposes a solution called Appium. UIAutomation only runs in Instruments and is limited by only supporting JavaScript. Appium allows controlling UIAutomation from the command line in any language and adds real-time control. It works by having JavaScript commands communicate with scripts through files or a web server, allowing tests to integrate mobile and web testing and reuse non-JavaScript code. The document provides instructions for setting up Appium and coding tests similarly to Selenium.
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes that Amazon’s engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodeCommit, AWS CodePipeline, and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
A lightning talk overview on the features of Xcode Server, and the new features introduced with Xcode 7 at WWDC 2015 for Continuous Integration and Deployments. Learn how Xcode Server works, how it integrates with Xcode, and how bots can help alert you, when something has gone wrong.
Web Application Test In Ruby, is a testing framework for the web applications. Since it's built on ruby it would take the advantage of object oriented principles of ruby and makes the regression/functional testing very very simple. This presentation aims to introduce the WATIR, assists in installing and also testing with a simple test case.
This document discusses managing web applications with AWS Elastic Beanstalk. It introduces Elastic Beanstalk and compares it to managing infrastructure manually. It then covers getting started, deploying sample applications, using custom platforms, best practices, and deployment options like rolling updates and immutable infrastructure. Diagrams illustrate how different deployment options work.
A series of slides about building a one-page-webapp framework and api called VisualWeb. We run two independent services on this full-javascript stack: meinunterricht.de and mylinkcloud.com . we use nodejs, socket.io. hook.io, connect and mongodb to build hyperdynamic, desktop-like web experiences.