• Liked Sargis Sargsyan
    keyboard_arrow_down

    Sargis Sargsyan - Better Page Object Handling with Loadable Component Pattern

    45 Mins
    Talk
    Advanced

    One of the painful problems in Selenium automated testing is determining whether a HTML page has been loaded. This is especially the case when web application uses a JS  heavy framework such as the popular AngularJS.

    During this talk we will discuss how to handle Selenium Page Object pattern better with Loadable Component.

    The Loadable Component helps test case developers make sure that the page or a component of the page is loaded successfully. I will share my experience about the concept of the Loadable Component and Page Object patterns.

  • Liked Federico Toledo
    keyboard_arrow_down

    Federico Toledo - Monkop: cloud-based tool for Android testing and optimization

    Federico Toledo
    Federico Toledo
    COO
    Abstracta
    schedule 1 year ago
    Sold Out!
    30 Mins
    Talk
    Intermediate

    How can we (the testing team) help developers to cross the "app poverty line" and succeed in the market? finding: bugs, performance bottlenecks and security vulnerabilities, avoiding negative reviews and bad ratings. Straightforward and easy, right? Actually not that easy, mainly because the deep knowledge required in different technologies and tools to get this information for the hundred different kind of devices, which makes the tasks so much effort demanding.

    In this talk we want to introduce Monkop, a cloud-based tool for Android testing and optimization. Once you upload the app to monkop.com, the test cloud automatically installs your app on dozens of real devices, including all Android versions, multiple screen sizes and brands. A “monkey” then plays with each device, analyzing app behavior and creating a report to be sent back in less than 24 hours. The report provides you with: app usage video, screenshots, performance metrics, power consumption data, top database times, recommendation based on best development practices and more, with just the push of a button.

    Also, the aim of the talk is to share the lessons we learned developing and using these techniques (well known as “monkey testing techniques”) with the testing community. In addition to that, we are also open and looking for collaborators, testers and developers alike to get feedback and ideas from the community.

     

  • Liked Mukta
    keyboard_arrow_down

    Mukta - Using Docker for Testing

    45 Mins
    Demonstration
    Beginner

    The early release of Docker (while it was in beta) was primarily used for testing. It was immediately accepted as the best tool which facilitated automation testing. Docker and its ecosystem have matured today to also support Docker in production.

    Tests typically include a number of different components like DB Server, App Server, Web server. Tests also depend on external services like MySQL, Redis. Moreover, the engineers are not very conversant with the testing infrastructure: A QA engineer should ideally focus on writing and executing tests. Failed tests pollute the test environment and resetting it back to a clean test environment is an overhead. Using Docker can address all these issues.

    This session aims to show how Docker can be effectively used in manual and automation testing. It will demonstrate how Docker can be used in CI + automation testing, which can form the base for your "continuous testing" approach.

  • 45 Mins
    Experience Report
    Intermediate

    This world has seen many generations. The first generation was when Software Engineering had two major stages - Analysis & Coding. The second generation expanded this to hours of exhaustive Manual Testing. The third generation of smart people took the next step towards Automated Testing. But should the smartness stop there?

    Introducing the next generation of smart testing where the goodness of Exploratory Testing meets the ferociousness of Automated Testing. That's where we achieve Testing Nirvana!

  • 90 Mins
    Workshop
    Intermediate

    Purpose: To demonstrate how productivity can improve by engaging testers from the very first day of a sprint

     

    Questions to ask yourself:

    1. Does your team receive all the features at the end of the sprint for testing?
    2. Do you have the concept of code freeze in your project?
    3. Does your sprint usually spill over because testing is not completed?
    4. Do you demonstrate features to your stakeholders that have not been tested?
    5. and many more testing paradox...

    If your answer to any of the above questions is YES, then it's time to fix these problems.

    In this session, not only will I demonstrate how you can engage your testing team from the very first day in order to start (that's right, start) testing your application, but also help you achieve this by means of some simple exercises.

  • Liked Uday Kumar KV
    keyboard_arrow_down

    Uday Kumar KV - Demystifying DevOps

    60 Mins
    Original Research
    Intermediate
    • Business leaders know the value of adopting DevOps but Development and Operations team still struggling on how to adopt. There is gap in understanding how to transform Business Objectives to best practices & Technology Implementation. 
    • Development and Operations teams have very narrow view of DevOps - they still think just CI / CD Automation is DevOps. Automated & Integrated ALM as an approach remove silos in the organization is missing. 
    • Agile Coaches are trained and practicing primarily on software development side of things. Cross functional perspective ranging from Product Management to Portfolio to Release management is something they don't have exposure on.
    • DevOps is big change. Industry needs coaches / architects ( change agents ) who are capable and accountable to drive this change.  
    • DevOps is about operational efficiency at an enterprise level for Software Development centers; Lean / Kanban principles are the key but there seems to be Gap in industry on how to apply these to Software Development e.g. How to select an ALM, On what basis to select CI/CD tools
  • Liked Sourabh Dhavale
    keyboard_arrow_down

    Sourabh Dhavale - Augmenetd Reality and Software Testing: A Futuristic Thought Process

    Sourabh Dhavale
    Sourabh Dhavale
    Test Engineer
    L&T Infotech
    schedule 1 year ago
    Sold Out!
    20 Mins
    Talk
    Beginner

    Augmented Reality is a breakthrough technology that could considerably ease execution of complex operations. Augmented Reality mixes virtual and actual reality, making available to the user new tools to ensure efficiency in the transfer of knowledge for several processes and in several environments. Various solutions based on Augmented Reality have been proposed by the research community: particularly in maintenance operations Augmented Reality tools have offered new perspectives and have promised dramatic improvements. On the other side Augmented Reality is an extremely demanding technology and, at the present day, it is still affected by serious flaws that undermine its implementations in the industrial context. This paper presents examples of Augmented Reality applications and shows the feasibility of Augmented Reality solutions, underlining advantages it could introduce. At the same time the principal flaws of Augmented Reality are commented and possible lines of investigation are suggested.

  • Liked Ranjith Tharayil
    keyboard_arrow_down

    Ranjith Tharayil - Change Vector Tracking in emergent design

    45 Mins
    Talk
    Advanced

    A reflective design approach to achieve software design agility by modelling change as a vector and tracking it to aid refactoring decisions.

    Preface about the talk

    Software design is a field that has always fascinated me and I have tried to be an obedient student trying to learn this art. Like any other design problem, software design is also a wicked problem. Horst Rittel and Melvin Webber defined a “wicked” problem as one that could be clearly defined only by solving it, or by solving part of it .This paradox implies, essentially, that you have to “solve” the problem once in order to clearly define it and then solve it again to create a solution that works.

    Hence you need an architect with magical powers to get your design correct in the first go .This is the core philosophy behind emergent design in which we do not think too much about future . As Uncle Bob sarcastically points out, your customers somehow knows your design and they will come up with a requirement that will break your assumptions and thus your design. In emergent design you embrace aggressive refactoring religiously and few teams rebelliously for the good. It has also been observed that during emergent design refactoring step more focus is towards class design than higher abstract architecture elements. This creates technical debt which can go unnoticed for a long time.

    In this talk I will be introducing a novel technique called change vector tracking that will address the above described problem. Change Vector Tracking is a reflective design approach to achieve software design agility by modelling change as a vector and tracking it through ceremonies like Change Vector Tracking meetings.

    Change vector tracking doesn’t prevent customers from coming up with requirements that would invalidate previous design assumptions, it helps us in monitoring these changes and aids in making informed decisions of where and when to redesign. It helps us keep a check on design debt which otherwise would be overseen and not addressed at the right time .Design debt is invisible to tools initially, only when it grows beyond a scale tools can catch it. Change vector tracking is a technique to capture this design debt in a very early stage. “A stitch in time saves nine”.

  • Liked Priti Biyani
    keyboard_arrow_down

    Priti Biyani - One page to test them all!

    Priti Biyani
    Priti Biyani
    Consultant
    ThoughtWorks
    schedule 1 year ago
    Sold Out!
    45 Mins
    Case Study
    Intermediate

    Problem we faced

    Our current project is a mobile app for iOS, Android and Mobile web, which is a mixture of pure native screens and webviews. Each platform has its own tools for UI automation like Calabash for iOS/Android and Watir-Webdriver for Mobile Web. But we wanted to create a generic automation framework which could support each of the  above UI automation frameworks but still reuse as much code as possible and avoid duplicating code between them.

     

    Page Object Model

    Page Object  Model was again a natural fit for this framework. Most implementations of POM recommend different POMs for each platform. But we wanted to have a single Page Object Model for all the 3 platforms to ensure maximum code reuse and reduce overall time spent in adding new automation.

     

    Single Page Object Model across platforms

    This was complicated because we had native screens as well as webview screens and so it was not possible to use the same Page Object. To solve this, we introduced abstractions for the elements on the screen and encapsulated the respective native driver implementations.

    This also allowed us to implement common automation tasks in one place for e.g waiting for new pages to load, so that this code is not repeated across multiple step definitions and platforms. This helped us move to thinking in higher domain level concepts than in terms of low level UI interactions.

  • Liked Mukta
    keyboard_arrow_down

    Mukta - Continuous Testing: Stepping beyond Automation Testing!

    45 Mins
    Talk
    Intermediate

    Today businesses are changing rapidly and they need to support rapid innovations and changes. Agility in responding to change is the key to success for every business. IT industries are adapting agile software delivery approach and one of the recent and most acknowledged such practice is DevOps. DevOps helps accelerate the TTM, reduce risks and provides continuous feedback. Continuous Testing is the most important and crucial aspect of DevOps which emphasises continuous process improvement.

     

    Today we don't just need test automation. Times today demand a method which will help measure the risk of business failure, and not just a report which show if tests have passed or failed. This impacts not just changes (or upgrades) in technology and tools, but also a change in quality management culture is observed.

     

    Test automation helps us test faster, and provides a mechanism to detect software defects. Though automation can be considered as a pre requisite to continuous testing, continuous testing is much more. It helps provide process improvements that can prevent future defects from occurring. It plays an important role in providing continuous feedback for your software.

     

  • Liked Anand Bagmar
    keyboard_arrow_down

    Anand Bagmar - Patterns of a “good” Test Automation Framework, Locators & Data!

    45 Mins
    Demonstration
    Intermediate

    Building a Test Automation Framework is easy - there are so many resources / guides / blogs / etc. available to help you get started and help solve the issues you get along the journey.

    However, building a "good" Test Automation Framework is not very easy. There are a lot of principles and practices you need to use, in the right context, with a good set of skills required to make the Test Automation Framework maintainable, scalable and reusable.

    Design Patterns play a big role in helping achieve this goal of building a good and robust framework. 

    In this talk, we will talk about, and see examples of various types of patterns you can use for:

    1. Build your Test Automation Framework
    2. Test Data Management
    3. Locators / IDs (for finding / interacting with elements in the browser / app)

    Using these patterns you will be able to build a good framework, that will help keep your tests running fast, and reliably in your CI / CD setup!

  • Liked Sarvesh Shrivastava
    keyboard_arrow_down

    Sarvesh Shrivastava / Anmol Bagga - Functional and Security Testing - An amalgamated automation approach

    20 Mins
    Demonstration
    Intermediate

    With increasing cyber threats & online attacks, an unavoidable situation for continuous security testing has emerged.

    Making sure all vulnerabilities are unleashed regularly is highly significant.


    The paper hence proposes a solution where automated security testing could be achieved in conjunction with functional testing carried out using selenium API.

    It introduces a framework that caters to automated security testing along with functional which could provide an integrated testing elucidation.

    The paper, takes in these two premises to offer a solution where functional automation testers can now take on security testing. I propose a framework where automated security testing could be achieved in conjunction with functional testing using existing selenium API scripts.

    The framework covers the top vulnerabilities and provides intuitive results that help a non-security tester interpret and act on the output. At the very core of this framework is the open source tool, OWASP ZAP, which is easy to use and integrates well with Selenium automation frameworks.

    I bring in hands on project experience having implemented this framework for clients, who have been able to get the value of functional and security testing using the same set of scripts – it is this experience I would like to share with the ATAGTR2016 audience, to help groom functional testers into security testing, with minimal cost and time, also enabling security testing to be performed every time functional automation is taken up.

  • Liked Ranjith Tharayil
    keyboard_arrow_down

    Ranjith Tharayil - When to embrace Behaviour Driven Development?

    90 Mins
    Talk
    Intermediate

    Abstract

    Behaviour Driven Development (BDD) is a collaborative and disciplined technique to help us build the right product. In the last decade BDD has had her own bit of glory and criticism. Many teams in the recent past have reaped benefits from this technical practice, while some teams complain that are yet to find any value. This talk focuses on answering two questions;  What are the ideal conditions when teams should adopt it? How to adopt it the right way ?

     

    Preface about the talk 

    Behaviour driven development has been a buzz word in the recent years and many teams are adopting it. The core of BDD is the collaboration angle that enables teams to build the right product. As a side effect BDD gives you a very essential output, which is an automated acceptance test suite. BDD team members work together in identifying different scenarios elaborated in the form of examples. High performing teams ensure through working agreements to only pull those features in which scenarios are well defined. These scenarios define the acceptance criteria of the feature. The scenario identification process involves full team participation and in these meeting its essential that the three amigos i.e. the entire development team, QA engineers and product owner should participate.  Along with the three amigos any other members who can constructively contribute in scenario identification are also welcomed.

    During these interactions technology facing members get a better understanding of business and vice-versa. It has also been observed that identifying and discussing scenarios helps the team in analysing and studying the feature in much detail. Many teams benefit from this practice as it helps them shape their product ,  saying so few teams are yet to find value in investing time and effort towards these meetings and ceremonies . One should keep in mind that for BDD to be effective we require full team participation.

    In this talk I am making an assumption that these teams who are not finding much value in adopting BDD, were practicing it in fullest of its spirits and not just documenting scenarios for creating an automated test suite. This talk discuss on how to effectively adopt it ,the right way based on problem space complexity of the feature .

     

  • Liked Prashant Hegde
    keyboard_arrow_down

    Prashant Hegde - MindMaps - A killer tool to increase your test coverage.

    Prashant Hegde
    Prashant Hegde
    QA Lead
    Razorthink
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    A mindmap is a diagram used to visually organize information. It can be called as a visual thinking tool. A Mindmap allows complex information to be presented in a simplified visual form. A mind map is created around a single concept. The concept is represented as an image in the center to which the associated ideas are added. Major ideas are connected directly to the central concept, and other ideas branch out from those.

    Mindmap is a great tool for note taking, planning, studying, brainstorming etc. The term 'mind map' was first used by Tony Buzan in 1974. I drew my first mindmap when I was in school. I preferred mind-mapping over text notes and it proved to be a great aid to revise and recall the concepts quickly. This is because the information in mindmap is structured in a way that mirrors exactly how the brain functions - in a radiant rather than linear manner. A Mind Map literally ‘maps’ out your thoughts, using associations, connections and triggers to stimulate further ideas. 

    Mind maps can be used in all the test stages from test planning to test case execution.

    Mindmaps can be used for:

    • Test Planning
    • Requirement analysis
    • Impact analysis
    • Task allocation
    • Test case design
    • Traceability
    • Test reporting -Quick test reports 

    Test Planning

    While test planning, you can draw an initial mindmap keeping in mind the list of tasks, schedules, tools, roles, responsibilities, milestones etc. Present the mindmap and discuss it with your stakeholders. Modify the mindmap if any changes are required. One thing you will love about mind maps is its flexibility to adapt to changes. All you might have to do is to add or remove a node/branch. This flexibility might not happen when you draw on a paper, but a mind mapping software assists any changes easily.

    The final mind map shows you the scope of testing in one glance. This mindmap can be used as a blueprint and later converted into a plan. This ensures that no test activity is missed.


    Test case design

    Mindmaps are an efficient way of creating lean test cases. It reduces the time required for creating test cases yielding better results. Mindmaps are very easy to maintain and are flexible to changing requirements.

    Draw branches from every user story/epic and associate all its functionalities as sub-nodes.Start adding test ideas/test case for each functionality.

    I created a mindmap covering test ideas for the major functionality. My team started to expand the mindmap by branching out more and more test ideas. We kept adding new nodes when we found unique scenarios that uncovered the bugs during our test sessions. This drastically increased our test coverage.The final mindmap can be as the basis for test case document or it's cool if it's used as it is. 

    The best part of mind mapping is that you generate more ideas when drawing them. Collaborative mind mapping with the team gives you best results.

    Traceability mindmap

    A traceability matrix is an essential tool for every tester to analyze and improvise the test coverage. You can use a mindmap instead of a tabular traceability matrix.

    To create a traceability mindmap - add nodes of all the Epics. Draw branches from every module and associate all its user stories as subsequent nodes.  Now link the test cases for every functionality.You can link the requirement number of the test management tool.

    This ensures that you have not missed out writing test cases for any user story. This mindmap gives you the birds-eye view of your test coverage.You can identify the areas where you need to strengthen your coverage.

     

     

  • Liked Prateek Yadav
    keyboard_arrow_down

    Prateek Yadav / Nirmal Jacob / Sanjay Kulkarni - Automation testing approach for Responsive web Design website

    20 Mins
    Others
    Intermediate

    In the market today, there are a large number of devices with different resolutions and screen sizes. A tough competition exists wherein every client wants their website to run on all these devices.

    Testing the same set of test cases on all the available devices in the market today is practically impossible due to the high cost factor, availability of all devices and amount of effort required to test on all these devices. Now a days, most of the websites are being developed as Responsive web design(RWD) websites. The RWD websites layout will adjust based on the screen size and PPI of the device. The main challenge for testing RWD websites is that the automation script generated for one device one platform will only cover the functionality, behavior and workflow. But the same automation script running on different devices ignores the  look and feel, Layout and UI alignment.

     

    This Paper talks about using multiple tools available in the market currently for testing RWD website and our experiences related to them. We have focused majorly  on screenshot analysis and pixel by pixel comparison. We also have capability to execute parallel test cases for RWD website across multiple devices having multiple resolutions in one go along with continuous integration using Selenium and Jenkins.

  • Liked Vikas Wig
    keyboard_arrow_down

    Vikas Wig - Provar : Targeted Automation Testing for Salesforce

    Vikas Wig
    Vikas Wig
    Product Manager
    Provar
    schedule 1 year ago
    Sold Out!
    60 Mins
    Demonstration
    Beginner

    Automation Testing has been the buzz word for ages in the testing world but never gets old. The reason - getting it right still eludes many. The quest for every testing practice has always been to identify the right Automation Testing tool for their environment. Some go for the most popular in the market, others go for an open source to save on costs. But how successful these choices prove to be? The first and the foremost question to ask is how good is the tool or framework for 'My Environment'? This presentation and demonstration will take you through one such journey where a correct focus on the environment is leading to an Automation testing revolution in the realm of Salesforce.

  • Liked Soumya Mukherjee
    keyboard_arrow_down

    Soumya Mukherjee - QAF - Next GEN Intelligent Scriptless Automation Framework

    45 Mins
    Demonstration
    Beginner

    Script Less and Intelligent Automation is a state of the art test automation framework code named as QAF. The session will be a hands on demo of the framework.  It automates both cross browser web application on platform running on (Windows, MAC) and cross mobile applications for both Android and iOS. Its inherent ability to learn about test suite gives it an incredible advantage over other tools or frameworks available in the market. It helps assess critical scenarios and provide recommendations on the next regression execution. It supports and works as a backbone to existing scripts written in any language (.Net, Java, Ruby etc). QAF also understands behavioral language and has an ability to pick up features files and create base scripts for your tests. QAF API also has an ability to connect existing continuous environment tools and fit into daily agile needs in any project. Recommendation is that everyone who wants to learn a little bit of Selenium and Appium bring a laptop of their own – the code and information will be shared during this session.

  • Liked Anjali Wadhwa
    keyboard_arrow_down

    Anjali Wadhwa / Preeti Mishra - Testing the Mysterious Sphere

    60 Mins
    Workshop
    Beginner

    This workshop helps testers get an overview of what to do and what not to do under different circumstances. Then it is observed how they react/respond in those situations from where the learnings are derived. It focusses on the key testing and consulting skills. They can tie it back to real time project experiences.

    Through a series of interesting phases with role plays and activities the entire workshop duration is full of energy and interactions.

  • 60 Mins
    Demonstration
    Intermediate

    Introduction

    A tool is something that helps a tester to test better. Nevertheless, Brain is the ultimate testing tool that nurtures the testing activity to be done better. And even when a tester thinks about a testing tool, it just means that he / she has an idea which was generated in the brain and want to use a particular tool to execute a test idea that was generated in the brain. We have plenty of tools in the computer world, just like plenty of fishes in the ocean. Having said that, these testing tools at times do not help a tester because of the limitations a tool provides or rather the feature was not thought of while developing it because it did not suit the context. Well, the good news is; computer programmers and software testers can come together to solve these problems quickly. This talk is going to help the audience to experience and ignite their brain to think in a new way in the path of innovating in testing tools, micro-services, utilities, web browser plug-ins and more.

     

  • Liked Irfan Ahmad
    keyboard_arrow_down

    Irfan Ahmad - Testing as a Container : using docker containers to deliver testing at speed

    Irfan Ahmad
    Irfan Ahmad
    QA Engineering Lead
    Upgrad
    schedule 1 year ago
    Sold Out!
    45 Mins
    Demonstration
    Intermediate

    We see two upcoming trends in the world of software delivery.

    1.Docker is becoming a standard for managing infrastructure using containers.

    2.Testing code and its infrastructure starts to grow at scale with more complexity, dependencies and technology diversity.

    A container is an entire portable runtime environment: an application, plus all its dependencies, libraries and other binaries, and configuration files needed to run it, bundled into one package. By containerizing the application platform and its dependencies ,all differences in OS distributions and underlying infrastructure are abstracted away which makes it easy to share and execute anywhere.

    At this talk we will learn how to leverage the container technology to solve the challenges of growing testing infrastructure and continuous delivery with key focus on below items.

    • Basics of the containers technology and specifically it’s application on the test automation. 
    • How Docker can reduce the time of test execution, ease the setup of clean test environments and drastically reduce the differences between the development, acceptance and production environments leading to the higher quality of the released software.
    • Examples to containerize entire testing stack together consisting of major automation tools (selenium, appium, phantomjs), performance tools (jmeter,gatling) with cucumber. 
    • Integrating and managing testing container with other application containers to achieve easily manageable continuous delivery pipeline.
    • Best practices and patterns for docker success.