This document discusses using Appium for mobile automation testing within an enterprise banking organization. It outlines challenges such as maintaining app state during failures, complex app flows, multiple app states, testing across environments and devices. Solutions proposed include techniques for maintaining app state, handling complex flows, dealing with multiple states, using data-driven testing with test data variations, mocking backend systems, and leveraging Selenium Grid and mobile device labs for continuous integration. The goal is to enable faster and wider test executions with reduced manual effort through continuous integration.
Software testing involves investigating a product or service to provide information about its quality to stakeholders, while test automation uses special software to control test execution and compare actual and expected outcomes. There are different types of automation frameworks including linear, keyword driven, data driven, and hybrid approaches, with advantages like reliability and speed but also disadvantages like high upfront investment and potential to leave some testing areas uncovered.
After doing testing on multiple Agile projects, I have come to realize certain aspects about the process and techniques that are common across projects. Some things I have learned along the way, some, by reflection on the mistakes / sub-optimal things that I did.
I have written and published my thoughts around the "Agile QA Process", more particularly what techniques can be used to test effectively in the Iterations.
This document provides an introduction to automation testing. It discusses the need for automation testing to improve speed, reliability and test coverage. The document outlines when tests should be automated such as for regression testing or data-driven testing. It also discusses automation tool options and the types of tests that can be automated, including functional and non-functional tests. Finally, it addresses the advantages of automation including time savings and repeatability, as well as challenges such as maintenance efforts and tool limitations.
This document provides an overview of the TestNG testing framework, including its features, benefits, installation process, and comparisons to JUnit. TestNG is a testing framework inspired by JUnit and designed to cover all categories of tests. It allows for multi-threaded, grouped, dependent, and parameterized testing. TestNG has advantages over JUnit like flexible grouping of tests, dependency testing, and integration with tools. The document demonstrates how to use TestNG annotations, XML configuration, parameters, data providers, factories, listeners and more. It also summarizes the key differences between TestNG and JUnit.
This document discusses test automation, including what it means, when it should be used, best practices, and examples of automation tools. Test automation involves writing software to reproduce the steps of a manual test process. It is useful for speeding up testing, improving coverage, and ensuring consistency. Tests that are repeated or will be run frequently are good candidates for automation. Common automation tools include NUnit, JUnit, Sahi, QTP, JMeter and Load Runner. Best practices include choosing the right tool, only automating repeated tests, identifying automatable cases, and using a data-driven approach.
** Performance Testing Using JMeter: https://www.edureka.co/jmeter-trainin... **
This edureka PPT on "JMeter vs LoadRunner" will provide you in-depth knowledge about how these two tools are used for performance testing. It will compare the tools based on certain parameters which will help you in deciding the best out of the two.
Introduction to JMeter
Introduction to LoadRunner
Parameters of Comparison
Availability
Load Generation Capacity
Execution
Analysis Report
Open-source & Community
Scripting
Building Test Scenarios
Elements
Software Testing Playlist: http://bit.ly/2uYgRJj
Software Testing Blog Series: http://bit.ly/2B7C3QR
Selenium playlist: https://goo.gl/NmuzXE
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Software testing involves investigating a product or service to provide information about its quality to stakeholders, while test automation uses special software to control test execution and compare actual and expected outcomes. There are different types of automation frameworks including linear, keyword driven, data driven, and hybrid approaches, with advantages like reliability and speed but also disadvantages like high upfront investment and potential to leave some testing areas uncovered.
After doing testing on multiple Agile projects, I have come to realize certain aspects about the process and techniques that are common across projects. Some things I have learned along the way, some, by reflection on the mistakes / sub-optimal things that I did.
I have written and published my thoughts around the "Agile QA Process", more particularly what techniques can be used to test effectively in the Iterations.
This document provides an introduction to automation testing. It discusses the need for automation testing to improve speed, reliability and test coverage. The document outlines when tests should be automated such as for regression testing or data-driven testing. It also discusses automation tool options and the types of tests that can be automated, including functional and non-functional tests. Finally, it addresses the advantages of automation including time savings and repeatability, as well as challenges such as maintenance efforts and tool limitations.
This document provides an overview of the TestNG testing framework, including its features, benefits, installation process, and comparisons to JUnit. TestNG is a testing framework inspired by JUnit and designed to cover all categories of tests. It allows for multi-threaded, grouped, dependent, and parameterized testing. TestNG has advantages over JUnit like flexible grouping of tests, dependency testing, and integration with tools. The document demonstrates how to use TestNG annotations, XML configuration, parameters, data providers, factories, listeners and more. It also summarizes the key differences between TestNG and JUnit.
This document discusses test automation, including what it means, when it should be used, best practices, and examples of automation tools. Test automation involves writing software to reproduce the steps of a manual test process. It is useful for speeding up testing, improving coverage, and ensuring consistency. Tests that are repeated or will be run frequently are good candidates for automation. Common automation tools include NUnit, JUnit, Sahi, QTP, JMeter and Load Runner. Best practices include choosing the right tool, only automating repeated tests, identifying automatable cases, and using a data-driven approach.
** Performance Testing Using JMeter: https://www.edureka.co/jmeter-trainin... **
This edureka PPT on "JMeter vs LoadRunner" will provide you in-depth knowledge about how these two tools are used for performance testing. It will compare the tools based on certain parameters which will help you in deciding the best out of the two.
Introduction to JMeter
Introduction to LoadRunner
Parameters of Comparison
Availability
Load Generation Capacity
Execution
Analysis Report
Open-source & Community
Scripting
Building Test Scenarios
Elements
Software Testing Playlist: http://bit.ly/2uYgRJj
Software Testing Blog Series: http://bit.ly/2B7C3QR
Selenium playlist: https://goo.gl/NmuzXE
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
The document discusses automation testing basics, including that automation testing is done using automated tools to write and execute test cases. It explains that automation testing should be used for tasks that are time-consuming, repeated, tedious, or involve high risk test cases. The document also lists some popular free and commercial automation testing tools.
Load testing involves systematically stressing a system or application to determine its behavior and stability under different load conditions. There are different types of load tests that can be run depending on the test goals. It is important to measure key metrics like response times, failures, and system resource usage during a load test to understand the system's performance limits and how it degrades as load increases. Load test results should indicate the maximum number of users the system can support while meeting performance requirements as well as insights into how the system will perform as usage grows over time.
Tecnicas Para Planejamento E Execucao De Testes De Softwaremarthahuback
O documento discute técnicas para mapeamento de cenários de teste e técnicas de teste de caixa preta e caixa branca. Ele explica como mapear cenários de teste com foco no negócio e nos usuários, e como cenários de teste devem ser objetivos, reduzir incertezas e encontrar erros. Também descreve técnicas de teste de caixa preta como análise de valor limite, particionamento por equivalência e transição de estados, e técnicas de caixa branca como teste unitário e TDD.
The document discusses exploring APIs using Postman. It recommends testing APIs without a pre-set script through exploratory testing. It provides tips for using Postman to import APIs from Chrome or Swagger and test parameters, outputs, interoperability, security, exceptions, and data of public APIs. The document includes resources for further API and Postman learning.
Test Automation: A Roadmap For SucesssDavid O'Dowd
The document outlines a roadmap for successful test automation, including steps to plan an automation framework, select an appropriate automation tool considering requirements and constraints, and implement a strategy for test selection, prioritization, and management of the automation project. It also provides examples of applying the roadmap through SQS case studies and addresses questions about the automation process.
This document discusses cloud testing vs testing in the cloud. Cloud testing refers to testing applications deployed in the cloud, while testing in the cloud means testing any application using cloud infrastructure. It describes Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS) models and how they impact testing. Key considerations for moving to the cloud include outage history, defining test platforms, and guidelines for public/private clouds. TestingWhiz is presented as a demo of test automation in the cloud.
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...Amazon Web Services Korea
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기
김일호 솔루션즈 아키텍트 매니저, AWS
AWS Lambda는 서버리스 아키텍처의 핵심 서비스입니다. 본 세션에서는 AWS Lambda에 내부 동작 방식을 소개하고, Lambda Layer, 맞춤형 런타임 등 신규로 소개된 기능 및 사용시 도움이 되는 성능 및 확장을 위한 다양한 팁들을 소개합니다.
This document discusses AWS Auto Scaling, which automatically launches and terminates EC2 instances based on demand. It describes the key components of Auto Scaling including launch configurations, Auto Scaling groups, scaling policies, and CloudWatch alarms. It provides step-by-step instructions for setting up a simple Auto Scaling group to support a web application, including creating an AMI, load balancer, launch configuration, Auto Scaling group, scaling policies, and CloudWatch alarms to dynamically scale the number of EC2 instances.
Free and Open Source web service testing application.
Released in Sept. 2005, Developed by eviware software.
Built entirely on java platform & uses swing for UI.
Soap UI Pro is the commercial enterprise version.
Latest version 4.5.1
Developing a test automation strategy by Brian BayerQA or the Highway
The document discusses developing a test automation strategy and considerations for regression testing, automation, and frameworks. It addresses why regression testing is important, factors for the automation strategy like business needs and ROI, and frameworks to consider like Cucumber, Robot Framework, and Spock. The strategy determines test maintenance and fits within the organization, development process, and technology stacks.
Postman is a collaboration platform that simplifies each step of building an API and streamlining collaboration to create better APIs faster. It is a popular API client that allows users to send HTTP/HTTPS requests to services and view responses. Postman offers features like a community forum, integration with CI/CD tools, extensibility, the ability to make any type of API call, and is freely available and easy to use.
Enterprise software needs to be faster than the competition.
In this presentation we will explore what is performance testing, why it is important and when should you implement these tests.
The document provides an introduction and overview of performance testing. It discusses what performance testing, tuning, and engineering are and why they are important. It outlines the typical performance test cycle and common types of performance tests. Finally, it discusses some myths about performance testing and gives an overview of common performance testing tools and architectures.
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
The document discusses the role of QA and testing in agile software development, describing key differences between traditional and agile testing approaches and outlining agile testing practices like test-driven development, continuous integration, regression testing, and exploratory testing. It also covers the role of testers in agile projects and provides an example of how one company, GlobalLogic, implements agile testing through a unique Velocity method and platform.
O documento discute o papel do testador em times ágeis, enfatizando a importância da automação de testes, da compreensão do negócio e da programação, e da atuação do testador para garantir a qualidade do software.
This document provides an introduction to automation testing. It discusses the need for automation testing to improve speed, reliability and test coverage. The document outlines when tests should be automated such as for regression testing or data-driven testing. It also discusses automation tool options and the process for automating tests. While automation testing provides benefits like time savings, it also has limitations such as the need for programming skills and maintenance of test code. Key challenges of automation testing include unrealistic expectations of tools and dependency on third party integrations.
This document provides an overview of test automation using Cucumber and Calabash. It discusses using Cucumber to write automated test specifications in plain language and Calabash to execute those tests on Android apps. It outlines the environments, tools, and basic steps needed to get started, including installing Ruby and DevKit, creating Cucumber feature files, and using Calabash APIs to automate user interactions like tapping, entering text, and scrolling. The document also explains how to run tests on an Android app and generate an HTML report of the results.
Today we need everything reliable and accelerated, so to attain prompt results we are using varied automation testing tools. An automation tool is a piece of software that is run by little human interaction. Different testing tools are used for automation/manual testing, unit testing, performance, web, mobile, etc., more to that we have some open source testing tools as well.
The document discusses principles of software testing and phases of a software project. It covers the fundamentals of testing including principles like finding defects before customers and that exhaustive testing is not possible. It outlines typical phases of a software project like requirements gathering, planning, design, development, testing, and deployment. It also discusses quality assurance versus quality control. White box testing techniques like static testing and structural testing are explained.
Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...Amazon Web Services
Customer demands for higher levels of service and value, constantly evolving technology capabilities, and stringent regulatory requirements are all powerful forces reshaping retail banking. Built exclusively on AWS, Starling Bank’s 100% cloud-based, mobile-only banking solution satisfies regulators in terms of its resilience, security, and reliability. It also satisfies consumers by giving them greater control over their data, streamlining the account opening process, accelerating payments, and providing access to innovative new services developed from scratch with open APIs, a developer platform, integration with Apple Pay, Google Pay, and Fitbit Pay and a custom backend ledger and payments integrations. Starling Bank is leading the open banking revolution. In this session, learn how Starling Bank delivers value to their customers and innovates at a very fast pace in a sector that can be slow to evolve.
The document discusses automation testing basics, including that automation testing is done using automated tools to write and execute test cases. It explains that automation testing should be used for tasks that are time-consuming, repeated, tedious, or involve high risk test cases. The document also lists some popular free and commercial automation testing tools.
Load testing involves systematically stressing a system or application to determine its behavior and stability under different load conditions. There are different types of load tests that can be run depending on the test goals. It is important to measure key metrics like response times, failures, and system resource usage during a load test to understand the system's performance limits and how it degrades as load increases. Load test results should indicate the maximum number of users the system can support while meeting performance requirements as well as insights into how the system will perform as usage grows over time.
Tecnicas Para Planejamento E Execucao De Testes De Softwaremarthahuback
O documento discute técnicas para mapeamento de cenários de teste e técnicas de teste de caixa preta e caixa branca. Ele explica como mapear cenários de teste com foco no negócio e nos usuários, e como cenários de teste devem ser objetivos, reduzir incertezas e encontrar erros. Também descreve técnicas de teste de caixa preta como análise de valor limite, particionamento por equivalência e transição de estados, e técnicas de caixa branca como teste unitário e TDD.
The document discusses exploring APIs using Postman. It recommends testing APIs without a pre-set script through exploratory testing. It provides tips for using Postman to import APIs from Chrome or Swagger and test parameters, outputs, interoperability, security, exceptions, and data of public APIs. The document includes resources for further API and Postman learning.
Test Automation: A Roadmap For SucesssDavid O'Dowd
The document outlines a roadmap for successful test automation, including steps to plan an automation framework, select an appropriate automation tool considering requirements and constraints, and implement a strategy for test selection, prioritization, and management of the automation project. It also provides examples of applying the roadmap through SQS case studies and addresses questions about the automation process.
This document discusses cloud testing vs testing in the cloud. Cloud testing refers to testing applications deployed in the cloud, while testing in the cloud means testing any application using cloud infrastructure. It describes Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS) models and how they impact testing. Key considerations for moving to the cloud include outage history, defining test platforms, and guidelines for public/private clouds. TestingWhiz is presented as a demo of test automation in the cloud.
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...Amazon Web Services Korea
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기
김일호 솔루션즈 아키텍트 매니저, AWS
AWS Lambda는 서버리스 아키텍처의 핵심 서비스입니다. 본 세션에서는 AWS Lambda에 내부 동작 방식을 소개하고, Lambda Layer, 맞춤형 런타임 등 신규로 소개된 기능 및 사용시 도움이 되는 성능 및 확장을 위한 다양한 팁들을 소개합니다.
This document discusses AWS Auto Scaling, which automatically launches and terminates EC2 instances based on demand. It describes the key components of Auto Scaling including launch configurations, Auto Scaling groups, scaling policies, and CloudWatch alarms. It provides step-by-step instructions for setting up a simple Auto Scaling group to support a web application, including creating an AMI, load balancer, launch configuration, Auto Scaling group, scaling policies, and CloudWatch alarms to dynamically scale the number of EC2 instances.
Free and Open Source web service testing application.
Released in Sept. 2005, Developed by eviware software.
Built entirely on java platform & uses swing for UI.
Soap UI Pro is the commercial enterprise version.
Latest version 4.5.1
Developing a test automation strategy by Brian BayerQA or the Highway
The document discusses developing a test automation strategy and considerations for regression testing, automation, and frameworks. It addresses why regression testing is important, factors for the automation strategy like business needs and ROI, and frameworks to consider like Cucumber, Robot Framework, and Spock. The strategy determines test maintenance and fits within the organization, development process, and technology stacks.
Postman is a collaboration platform that simplifies each step of building an API and streamlining collaboration to create better APIs faster. It is a popular API client that allows users to send HTTP/HTTPS requests to services and view responses. Postman offers features like a community forum, integration with CI/CD tools, extensibility, the ability to make any type of API call, and is freely available and easy to use.
Enterprise software needs to be faster than the competition.
In this presentation we will explore what is performance testing, why it is important and when should you implement these tests.
The document provides an introduction and overview of performance testing. It discusses what performance testing, tuning, and engineering are and why they are important. It outlines the typical performance test cycle and common types of performance tests. Finally, it discusses some myths about performance testing and gives an overview of common performance testing tools and architectures.
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
The document discusses the role of QA and testing in agile software development, describing key differences between traditional and agile testing approaches and outlining agile testing practices like test-driven development, continuous integration, regression testing, and exploratory testing. It also covers the role of testers in agile projects and provides an example of how one company, GlobalLogic, implements agile testing through a unique Velocity method and platform.
O documento discute o papel do testador em times ágeis, enfatizando a importância da automação de testes, da compreensão do negócio e da programação, e da atuação do testador para garantir a qualidade do software.
This document provides an introduction to automation testing. It discusses the need for automation testing to improve speed, reliability and test coverage. The document outlines when tests should be automated such as for regression testing or data-driven testing. It also discusses automation tool options and the process for automating tests. While automation testing provides benefits like time savings, it also has limitations such as the need for programming skills and maintenance of test code. Key challenges of automation testing include unrealistic expectations of tools and dependency on third party integrations.
This document provides an overview of test automation using Cucumber and Calabash. It discusses using Cucumber to write automated test specifications in plain language and Calabash to execute those tests on Android apps. It outlines the environments, tools, and basic steps needed to get started, including installing Ruby and DevKit, creating Cucumber feature files, and using Calabash APIs to automate user interactions like tapping, entering text, and scrolling. The document also explains how to run tests on an Android app and generate an HTML report of the results.
Today we need everything reliable and accelerated, so to attain prompt results we are using varied automation testing tools. An automation tool is a piece of software that is run by little human interaction. Different testing tools are used for automation/manual testing, unit testing, performance, web, mobile, etc., more to that we have some open source testing tools as well.
The document discusses principles of software testing and phases of a software project. It covers the fundamentals of testing including principles like finding defects before customers and that exhaustive testing is not possible. It outlines typical phases of a software project like requirements gathering, planning, design, development, testing, and deployment. It also discusses quality assurance versus quality control. White box testing techniques like static testing and structural testing are explained.
Transforming Consumer Banking with a 100% Cloud-Based Bank (FSV204) - AWS re:...Amazon Web Services
Customer demands for higher levels of service and value, constantly evolving technology capabilities, and stringent regulatory requirements are all powerful forces reshaping retail banking. Built exclusively on AWS, Starling Bank’s 100% cloud-based, mobile-only banking solution satisfies regulators in terms of its resilience, security, and reliability. It also satisfies consumers by giving them greater control over their data, streamlining the account opening process, accelerating payments, and providing access to innovative new services developed from scratch with open APIs, a developer platform, integration with Apple Pay, Google Pay, and Fitbit Pay and a custom backend ledger and payments integrations. Starling Bank is leading the open banking revolution. In this session, learn how Starling Bank delivers value to their customers and innovates at a very fast pace in a sector that can be slow to evolve.
Comprehensive Performance Testing: From Early Dev to Live ProductionTechWell
Although the idea of doing performance testing throughout the software lifecycle sounds simple enough, as soon as you try to combine the concepts of “always testing” (in dev, pre-prod, and production) with “limited time and resources” and throw in the word “comprehensive,” the challenges can be monumental. Quickly the “how” of it emerges as the most important question—and one worth focusing on. Brad Stoner tackles this topic by explaining how he has been able to solve this seemingly impossible puzzle by applying various approaches such as early and often, learning when to say no, and seriously, I did say no—and more. Brad shares concrete examples of how he has successfully implemented full lifecycle performance testing at several companies. Join Brad to learn what performance tests to run at each development and delivery stage—from a simple load profile on a single server to full-scale soak tests over several days.
The document contains a resume for M.Anees Ahmed Khan, a senior QA specialist with over 8 years of experience in testing web, standalone, and mainframe applications. It details his professional experience leading testing teams and coordinating with development teams on projects in various domains. It also lists his technical skills and academic qualifications.
Process Orchestration with Flowable and Spring BootChavdar Baikov
This document discusses process orchestration using Flowable and Spring Boot. It begins by defining what a business process is and comparing orchestration to choreography approaches. It then introduces Flowable as a lightweight open source BPMN workflow and process automation engine that can run embedded in Java applications or on servers. Key Flowable concepts are explained like process definition, tasks, gateways and deployment. The document demonstrates a sample verified phone registration process built with Flowable and Spring Boot. It concludes with some Flowable best practices.
Mobile services on windows azure (part2)Radu Vunvulea
This document discusses Windows Azure Mobile Services. It covers the features of Mobile Services including user authentication, data storage in Windows Azure Storage, and push notification infrastructure. It also covers pricing, account setup, configuring data storage, custom scripts, authentication, and available APIs. The document concludes with an agenda for a meeting that includes a demo of Mobile Services.
Ashish Shrivastava has over 8 years of experience in software testing and quality assurance. He has expertise in manual testing, test automation, test management, and defect tracking tools like JIRA. He has experience testing applications in banking, telecom, and retail domains. Some of his projects include testing the McDonald's mobile app for offers and integration with POS, performing API testing for Bose using JMeter, and testing the WebSeries payment platform and JP Morgan's ATS application. He is proficient in both functional and non-functional testing methods in agile environments.
Rohit Kumar has 10 years of experience developing Java/J2EE web and enterprise applications. He has expertise in technologies like Spring, Hibernate, REST, SOAP web services, and databases like Oracle, SQL Server, and MySQL. He has worked on projects for clients including Equifax, Mozido-Corfire, and American Express, developing backend servers, APIs, and admin portals.
Service Virtualization: What Testers Need to KnowTechWell
Unrestrained access to a trustworthy and realistic test environment—including the application under test and all of its dependent components—is essential for achieving “quality @ speed” with agile, DevOps, and continuous delivery. Service virtualization is an emerging technology that provides teams access to a complete test environment by simulating the dependent components that are beyond their control, still evolving, or too complex to configure in a test lab. Arthur Hicken covers the ABCs of service virtualization—what it is and how it impacts Access, Behavior, Cost, and Speed. Learn how it can help you test more rigorously, avoid parallel development bottlenecks, and isolate application layers for debugging and performance testing in two ways—first, by providing access to dependent system components that would otherwise delay development and testing tasks; and second, by allowing you to alter the behavior of those dependent components in ways that would be impossible with a staged test environment.
InterConnect 2016 Java EE 7 Overview (PEJ-5296)Kevin Sutter
Java EE 7 is an update to the Java Platform, Enterprise Edition that includes new APIs and functionality for batch processing, JSON processing, WebSocket, RESTful web services, and more. Key features include batch applications, JSON processing improvements, WebSocket support, simplified JMS API, and more annotated POJOs with less boilerplate code. WebSphere Application Server and IBM WebSphere Liberty support Java EE 7.
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...CodeMill digital skills
Details
Alexandra Carter - Callcredit, Numero and Microsoft: Containerisation Hack of a Legacy Software Solution
This is the story of how we took a legacy solution and pushed it into containers on windows in just three days. This was also a great chance to work with Microsoft at the cutting edge of their work on containerisation, VSTS and Azure. Moving on from our Hackathon, we have continued adding new components, experimenting with orchestration and showcasing our work. I’ll talk you through the prep work, the 3 day hack and the subsequent work; what it means for the product roadmap, the experimentation we have done and how stakeholders are responding. Finally, we’ll look ahead to next steps.
Case study: https://microsoft.github.io/techcasestudies/devops/2017/06/16/Callcredit_DevOps.html
Alex Carter
"I have worked in IT, Marketing, Software Support and Software Delivery before moving into my current System Build (DevOps) role within Callcredit. I live and breathe DevOps and am currently focussing on anything around containerisation in Windows. A day without Metal and motor racing is a dull one."
@smileandeliver (https://twitter.com/smileandeliver)
From CodeMill digital skills meetup https://www.meetup.com/CodeMill-Digital-Skills/events/243110732/
Java server-side technologies have evolved over 20 years from J2EE in the late 1990s and early 2000s to today's Jakarta EE and MicroProfile standards. Key developments included the introduction of EJB, JSP, Servlets, and later Java EE additions such as CDI, JAX-RS, and security improvements. Standards have faced criticism but also drive innovation while providing portability. Cloud-native applications now emphasize fast startup, observability, fault tolerance, and other features aligned with containers and microservices. Jakarta EE and MicroProfile aim to continue advancing Java for the cloud.
Top Best Practices for Successful Mobile Test AutomationFred Beringer
Mobile apps have brought a whole new set of challenges when it comes to testing: Fast paced development cycles with multiple releases per week, multiple app technologies and development platforms to support, tons of devices and form factors, and additional pressure from enterprise and consumers less patient with low quality apps. With these new challenges, come a new set of mistakes testers can make!
Fred has worked with dozens of mobile test teams to help them avoid common traps when building test automation for mobile apps and would like to share some best practices that could be useful to a lot of developers and testers starting with mobile test automation.
Best practices such as:
• When, what and where to automate?
• Picking the right wait to handle unreliable back-end calls or device performance
• Building testability in a mobile app
• Automating the automation (!)
• Mix and match performance testing and functional testing
In this talk, Fred will bring some real stories (struggles!) and how small changes in process made these mobile apps 10x more reliable!
Dave Carroll Application Services Salesforcedeimos
The document discusses enterprise grade business application services provided through the Force.com platform as a service (PaaS). It provides an overview of Force.com's capabilities including building any type of business application, flexibility to integrate with other systems, security, and trust due to many customers and developers using the platform. Key aspects of Force.com covered include the multi-tenant architecture, APIs for development, and security options like single sign-on and two-factor authentication.
This document presents an ATM system project created by three students. The system allows customers to withdraw cash, transfer money between accounts, check balances, and change passwords using just an account number for authentication. It was developed using Java for the interface, MS Access for the backend database, and JDBC for connectivity. The system architecture includes a login screen and main menu. Key functions like cash withdrawal, money transfer, and balance inquiries are described. The document discusses why Java was chosen and how the database connection is established. It includes data flow diagrams and screenshots of the login screen and main menu. In conclusion, the project creates a flexible and efficient ATM system that could be enhanced with additional features like fingerprint scanning in the future.
The document discusses challenges in mobile automation testing and provides an overview of Appium as a tool for mobile test automation. It covers Appium architecture, requirements, capabilities, and tips for scaling mobile tests. Advanced Appium actions like horizontal and vertical swiping and chained locators are mentioned. The document also discusses visual testing, accessibility testing, and performance testing for mobile apps using Appium.
This document discusses mobile application testing and the advantages of using mock APIs and services. It notes that mobile apps often rely on external dependencies that can be difficult to test, and outlines some common problems with relying on real external services for testing. It then discusses how to set up mock servers to emulate APIs and services, allowing for isolated, faster, and more robust testing of mobile apps. Various mock server tools are evaluated and their pros and cons compared. Setting up mocks can enable benefits like independent frontend testing, rapid test completion, error scenario simulation, and isolated testing without external dependencies.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
5. Challenges
• Maintain App state in failure
• Complex app flows
• Multiple App States
• Test in multiple environments
• Multiple Test Data Variations
• Complex/Secured back end systems
• Testing in multitude of devices
7. #1 Maintain App State in
Android Failure
Android - start activity to launch the screen
Activity activity = new Activity(appPackage,appActivity);
activity.setAppWaitPackage(appPackage);
activity.setAppWaitActivity(appWaitActivity);
activity.setStopApp(false);
testdriver.startactivity(activity);
8. #2 Complex App Flows
SSO Jump
Handle SSO jump from native to browser and vice versa ?
• Android - Back Key event
• iOS - Scheme name in browser:
driver.getKeyboard.sendKeys(scheme+”://n”);
9. #2 Complex App Flows
Switch Native <—> Settings
Need of AUT settings in Phone Settings app
• Process Argument Capability - allows to pass command line
arguments, environment variables to AUT
List<String> pArgs = new ArrayList<>();
pArgs.add(“AutomatedTestConfigEnabled”);
pArgs.add(“environment.selected=container.+env);
if(getSystemParameter(“TEST_ANYWHERE”).equalsIgnoreCase(“true”))
pArgs.add(“container.useanywhere=YES”);
Capabilities.setCapability(IOSMobileCapabilityType.PROCESS_ARGUMENTS,
pArgs);
10. #3 Multiple App State
• Behaviour of application changes based on the verified or
non-verified user account (e.g: OTP verification)
• Multiple run of same tests or previous run of same test
could cause the state change in the application.
11. #3 Multiple App State
Solution: JAVA Rest Client Library
• Opens up HTTP connection
• setHeader
• setRequestBody
• Get , Put, Post, Delete
• getResponse
• getStatusCode
12. #4 Multi-Test Environment
• Need to support same tests against multiple environment
• Multi environment —> Test Data varies
13. #4 Test Data Variations
Master Card Visa card Debit Card Gold Card
Diamond Card Platinum Card
EveryDay Account Savings Account HL Account
14. #4 Data Driven Testing
• Static Data - TestNG
• @Parameter annotation
• @Dataprovider annotation
• Custom getData from xls
• CQ5 Dynamic Data - JAVA Rest Client
• Rest API - JSON Response
15. #5 Complex Backend
• Multiple downstream back end channels
• Update via Rest API - corrupts the test data
• E.G: Card activation flow - one time activity (Burnable
data)
16. #5 Burnable Data
API Mock Server - node js server
• Stubbed req & response
• Usage of mock server
• Creation of different rules based on specific input
20. Emulators/Simulators
Challenges
• Emulator launch for every fresh run
• Parallel emulator runs slows down the performance
• iOS Simulators cannot be run in parallel (older versions)
• Advance interactions behaves differently in physical
device and emulators.
22. MDC - deviceBridge
• Device Bridge is a software application - .exe / .dmg
• Connect to MDC server with ip address and credentials
• Acquire devices - connects the device to your machine
• Appium can identify the above connected devices
23. Selenium Grid + MDC
Team City
Selenium Grid
VM1 VM2 MacMini MacMini Device Bridge
Hi Guys,
Good Morning everyone !
Hope you all having great time here in Conference.
Let me introduce myself, I am Pavithra Navaneeth - Test automation lead and automation specialist working for Banking space in Sydney, Australia.
So today I am going to deliver the talk on “Appium in an Enterprise organisation”
Here is our today’s agenda:
Ill start with ‘Intro about Mobile Banking’
Then comes with Challenges we face in an enterprise banking automation
Solutions for the same.
Our CI journey and CI implementation.
If you think of banking, there are n number of services provided by banking in general such as checking your account information, transactions, money transfers, trading, account security, online shopping, different kind of payments, investments, customer support, content services etc…
Previously all these were managed separately and some of the services were provided through online (especially web) and some services were provided in branch. But now in digital era everything has to be digitalised and everything can be achieved via one single application in your mobile.
Achieving UI automation for such application is not so easy. Especially when this application has to be tested in both android & iOS - Appium is the best choice - open source tool for automating such applications.
Here for Mobile UI automation we used the following set of tools.
Its Appium - based on Java client library
TestNG as the Testing framework
Maven - as project build tool.
Lets start with the challenges. These are the some of the top challenges we faced w.r.t banking automation. Go - through it
Some of these challenges are specific to any native app tied up with Appium and some of it are related specifically to banking.
Let me start with few generic ones.
First one is Maintain app state during failure
Say there is a scenario which we have to test for payment transaction and if the transaction has failed due to some reason
As you all know if there is failure in the test in-between, it doesn’t reach the end state which in-turn doesn’t allow the next test to start
In case of browser, we usually refresh the browser or directly navigate to the URL, however in case of native we cannot refresh the app. Instead we have to kill and start the app again.
But there is a problem in doing this especially while running the test in CI runs e.g in grid node. Appium nodes in grid are often set with full reset ⛳️ to always ensure the clean state of the run and also to fresh install the new version of the app everytime.
So, in this case - to restart the app if we use driver.reset or driver.close/quit and launch - it would uninstall the app and install the app which is time consuming and once again we have to run user registration (especially in banking app it involves registration, OTP verification , setting up authentication, etc.. before reaching the actual test) - this is very time consuming. Hence what we do here - we pass enableAppResetart parameter to the driver launch method, and if enableAppRestart is true, set the noReset capability to true. Remaining capabalities remain intact and driver session gets started with no reset capability thus in turn restarts the app maintaining the same state.
How do I maintain app states especially in case of failure? In browser it is easy to load the url or refresh the page, but app cannot be refreshed without killing the app. How to restart the app in CI execution where Appium node is running with full reset flag as true. driver.reset, driver.close, driver.launch cannot be used here as these works as expected only when no reset flag is set to true.
Next comes the Complex app flows, there are n number of complex app flows in any application, but here I hast just chose one specific flow which is common for any kind of native app. ie. SSO Jump
SSO is basically single sing on - if you tap on any of the link in the native app - for e.g: My details in the banking application it deep links to the corresponding browser page.
We don’t have to perform specific step to navigate to the browser here - just by a tap it navigates to the browser already. You can perform navigations or assertions in the browser page with usual commands and verifications. But how do we navigate back to the native app?
In case of android - it is much easier we can invoke the back key event and it can navigate back to the application.
In case of iOS - it is not easy - there is no back button in iOS and there is no direct Appium command available to navigate back to the native.
So we use something called scheme name. Every iOS native application will have a scheme name defined - usually testers won’t be aware of this. Ask your developer for your app scheme name.
If we type in the scheme name in the browser url field followed by :// -it actually launches the corresponding application. For e.g: if you type sms:// in your iPhone safari it would popup the message asking whether you want to open the message app and by tapping on open it loads the message app. You can even try manually. So similarly we can type in our application scheme name in browser and it goes back to the native.
We can switch between apps mainly by creating another driver session with different capabilities.
How do we do this in CI environment especially when Appium node and capabilities are set with full reset flag.
Because, when full reset flag is on - driver.launch uninstalls the app and installs the app freshly.
First driver session is my test app. Before creating settings driver session I need to first do driver.quit which uninstalls the app. Thus when I launch settings it doesn’t have the context of my test app.
Define with example such as -
E.G.1: Without OTP verification, payment to third party cannot be completed. How to get OTP in test environment - via WebService API or SMS gateway portal in Test environment. This needs to be contacted in between the test run.
E.G:2: Bill pay test. Pay to biller is one of scenario, If my test scenario is to create the recurring payment for different frequency of time - previous run or multiple run of the same test impacts my next run. So there should be pre or post requisite to delete these recurring payments. Main aim of the test is to create recurring payment but if pre or post requisite (UI navigations are with longer navigations) it impacts execution time and performance.
Instead of having UI navigations as pre-post req and in order to fetch data from ; it can be wrapped up in REST API calls.
To solve above requirements - we introduced the RestClient library in the framework which opens up the http connection for different web-services needs. It got certain wrapper methods which helps to send the request and get response in API call.
Explain the complexity involved in banking test environment and why multiple dev, test regions are required. E.G: T1 could be test region for prod backend version. T2 could be test region of current backend version (n+1 - where ongoing backend development changes are deployed).
N number of legacy back end systems involved, change in one backend system could impact multiple applications in multiple channels; hence end to end testing needs to be carried out for all the end user applications. State with one example of back end system.
There is a need for multiple test data variations for single test scenario. E.G: Verify different kind of accounts, change card settings for different kind of cards.
This is where need of TestNG comes, we use @Parameter annotation to pass in specifically the environment name and some of the master data. And use @Dataprovider annotation which uses custom method to parse the xls data and returns the array object and in turn passed as test data arguments to the test methods.
If data dynamically varies (content from CQ5) - Here we also use Rest API calls and the JSON response serves as the data for these verifications.
Some of the flows are not just done only with back end calls. For e.g: Card activation - Once card is activated it not just updates in the native back end, it gets updated in n number of downstream channels. There are different batch jobs scheduled on daily basis which fetches the data, process and updates in different systems.
So even though I have these API calls in pre-post request, there are few flows that cannot be reverted or updated end to end.
Burnable data is the data which is once used cannot be used again. E.G: In terms of banking, if you ordered for a new credit card and first time you can activate the card through native app. Same card number (test data) cannot be reused again for card activation again.
These specific tests are set against the mock server instead of live test region. Solves the burnable data issue. Even regular acceptance or regression test data (API flows) are stubbed in the mock server and UI tests are run against the mock server so that it can be used to test against native - develop builds and also when test environment goes down or under maintenance.
While stubbing the regular flows, we also have to ensure to test both happy/unhappy paths. To test error or unhappy paths we create rules based on specific input. E.G: if login pin is 1234 - response should be X, if login pin is 3456 - response should be Y etc..
Such cases we pass these inputs (login pin) as parameter in TestNG parameter or data provider and based on these test flow changes.
Though Android & iOS are the most popular and widely used models, there are n number of variations in each of these device types. I think, in this forum I don’t need to explain the need of testing in multitudes of devices. Nowadays if we purchase a license automation tool it comes along with the cloud executions based on your requirement. But in case of Appium used as open source; we either have to rely on cloud labs such as sauce lab or own in house set of devices.
This is the normal CI process which everyone knows. When we say CI in testing, it means remote test executions. In a banking organisation, security plays a vital role, it is not easy to get your functional or backend tests in the cloud execution even though you got enough funding.
Cabinet cart maintained by operations team with set of devices.
Initially it was purchased mainly for manual execution (before automation came into picture).
We wanted to POC same solution for automation execution.
MDC comes with device portal where one can reserve the device, connect the device remotely and perform testing directly through portal.
adb devices - list the connected android devices
Instruments -s devices - list the connected iOS devices
Note: With Mobile labs version, they provide in built support for Appium server. There is no specific need to start the Appium server but we haven’t tried out the version yet. Prior to this feature, we were in need of making this solution available for CI executions.
We tried integrating MDC with Selenium Grid and it was a great success.
In a nutshell, to achieve full fledge automation in an enterprise organisation - there are many bits and pieces which needs to be integrated carefully in a organised manner and need to be maintained.
Above are not just the challenges we faced, we have few more challenges which are still need to be addressed and some doesn’t have a solution yet. So, its a long way to go.