Nirvana - when ET met AutomationVishal Prasad
schedule 1 year agoSold Out!
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!
Continuous Testing: Stepping beyond Automation Testing!Mukta
schedule 1 year agoSold Out!
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.
Testing as a Container : using docker containers to deliver testing at speedIrfan Ahmad
schedule 1 year agoSold Out!
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.
Testing the Mysterious Sphere
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.
From QA to Dev'QA'Ops`
With the concept of Infrastructure as Code gaining momentum, along with the concept of DevOps, it's important to check the sanity of the Infrastructure as a whole. This talk aims to introduce some concepts of testing for DevOps and how QA can help in testing the infrastructure.
Exploratory Testing explored using Risk Analysis for Mobile ApplicationsArchana Sridhar
schedule 1 year agoSold Out!
Exploratory testing is an approach that can be described as simultaneous learning, test design and test execution. It is testing parallel with learning. We all consciously or un-consciously do exploratory testing. We use the concept of “Think Different” every time we do exploratory testing. Creative exploratory tests help to break the monotonous scripted testing and bring out newer test case each time.
This paper brings out the approach of exploratory testing which is an emerging topic and clubbed with risk based analysis brings a powerful approach to testing. Today’s fast growing technology and rapid changes in projects, makes exploratory testing an important approach for every tester. Scripted testing alone often fails to find hidden defects. Exploratory testing, however, can expose these risks because it incorporates exploration and experience into the testing process.
One common misconception about exploratory testing is, it is unstructured, and this paper tries to showcase the concept of doing exploratory testing with risk analysis and gives it a more structured approach.
Also this paper highlights exploratory testing in mobile applications, using risk analysis. Mobile application testing embeds a lot of features, navigation flows, OS, device dependency. Mobile testing always requires an investigative approach apart from the fundamental test approaches. Exploratory testing with risk analysis makes a mobile testing much structured and easier to delve deep into the application and find bugs.
Test and deploy quickly through Agile - A customized approachSatya Tripathy
schedule 1 year agoSold Out!
“Agile Testing is about focusing on exploration, discovery, investigation, learning and reporting rather than defining process and writing heavy documentation” - Bret Pettichord
Changes are inevitable. It is an eternal truth. Our software world too could not depart from it. In large scale deployments for multichannel business environments, customers are highly focused on time to market. Thus practicing and embracing Agile as a tool is becoming increasingly popular as customers are highly benefited from the quick turnaround time for software implementations.
Working as a cohesive team being the underlying concept of Agile ways of working; facilitates, “continuous integration” between “automated tests” and code, in every code deployment to pre-production environment. This ensures Product Owner gets a “quick feedback” throughout the journey and also re-iterates the quality of deployment at all intervals of “seamless integrated quality deployments”.
This whitepaper illustrates a proposed customized Agile Testing solution Methodology which helped the customer delivering high quality and frequent deployments in a short span of time for a large scale enterprise deployment.
The discussed customer needed to deploy its multichannel solution of various markets within a year. The delivery model was decided to be Agile, Scrum. For the rollout, this customer was looking at seamless incremental deliveries across locales, providing quicker solutions to the end users by matured Agile engineering test methodology, strategy, tools, and best engineering practices from Agile experts.
Upon detailed analysis it was felt the following are the critical success factors that needed to be taken care while building a robust Agile testing framework.
- Behavior driven testing to be adopted by Agile testers within Scrum teams, in releasing a ‘ potentially shippable software’ at the end of each sprint
- Vital to have an common independent end-to-end testing team of all deployments at a high level where multiple Scrum teams are involved
- Discrete support functions of the Agile test methodology for a matured Agile testing centre which build high energy teams with an Agile mindset
- Proposed Solution
In shaping up the complete solution that incrementally got developed and deployed in production on a monthly basis, solution for the Agile Test Model was derived based on the important functions of People, Product, Automation and Test in a Scrum model which has multiple scrum teams working on various systems. These functions provide a customized approach to be adopted keeping in mind all the core Agile principles.
- PEOPLE: “Techno functional “Agile testers up skilling themselves with technology, building an open technical mindset towards developing test fixtures, Acceptance Criteria, models and harness to quickly automate while the product is being built. By pairing up with developers, testers should assimilate thinking to build a safety net which ensures failures are shown upon even the smallest deviation along the Journey. Testers in this context are well equipped to test behaviors of the product and helping product owners to enhance the features by suggesting improvements
- AUTOMATION: Automated Tests: Thorough focus on the Automation: Develop and run automation test fixtures to integrate, test and deploy application software with production-like quality in a production-like environment every single day during the sprints. Trigger and Publish test results in an automated way across key stakeholders of the project and strive continuously improve on the coverage with clear focus on adopting new tools and techniques along the lines of automation.
- CONTINOUS TEST: Continuous integrated Test Strategy: Seamless automation and integrated System testing at multiple scrum team levels focusing all non functional tests( Performance,CrossBrowser,Usablity etc) with a dedicated Scrum team of Testers. Team which is dedicated in building Tool Kits, Frameworks and Reusable repositories. Motive of this team is to provide continuous testing solution in different promotional test environments from UAT to till production and keep adding defects in product backlog to refine the product.
- PRODUCT: Maturing Product :With a deep insight into the product by continuous communication with product owners and architects Agile testers should be able to reach deeply into the product's domain and suggest ‘nice to have’ and ‘must have ‘ features and build a knowledge base for re use.
- Customized Agile test framework :Customized Agile test methodologies, test processes and tools which can facilitate automation and act as a safety net for all build releases across program level keeping all Agile principles in mind.
The generic benefits of Agile are known to everyone. However, the customized approach that was adopted here has following calculated and proven benefits for the customer.
- Continuous test keeps the product health up-to-date always. There is an increased confidence on the periodic production release across locales. Test suite is always up-to-date and ready to be run at will
- With regression automation the test execution time would be considerably cut down up to 60%
- With more interaction during the sprint between all the stakeholders of the project especially between developers, testers and business, gives more clarity around the growth of the Product. It also ensures any project risk and potential wrong implementation caught sooner than later.
- Customized Agile approach which is being proposed brings the benefits of creating a core team with niche skills. For eg. Automation tester, Non-functional tester etc, entire testing team is capable of handling any Agile project at organization level at any given point of time. Hence increase in flexibility.
- Having an independent end-to-end testing team for multiple Scrum teams, acts as the overall product expert. This team knows about the overall product functionality and designs the test cases keeping the whole product in mind, rather than designing tests only for the Scrum team.
All framework and solution has its own limitation. The proposed solution for this customer was by keeping the entire test organization in mind. The limitation was only observed at a micro level than in the macro-level. The proposed solution has more benefit than limitation. Some of the limitations are given below.
- Scrum testers had to engage with independent end-to-end testing team, taking bit more of their time spent in meetings
- Independent end-to-end testing team does not attend any daily Scrum hence less aware of the changes happening in a day to day basis
The proposed solution is unique as opposed to generic Agile Scrum and other Scrum framework followed by different teams. Some of the unique solution offerings are noted below.
- The highlight and the most important uniqueness of this model is to have a core testing team apart from the testers in working in the individual Scrum teams( Eliminates Programmer-centric view)
- Highly-scalable model. It can support onsite-offshore model efficiently as opposed to other Agile flavors
- Knowledge retention and knowledge sharing becomes effective vide the core team and addresses Resource career development
- Tool management and Automation is centralized and one shop stop for all needs
- Scrum testers’ sole focus is on story testing and Core testing team can work as a launch pad before a tester moves to Scrum team, where the tester needs to perform from the very first day
- Implementation Details
Agile Testers at Sprint level
Agile Tester participates in planning activities in the sprint and helps the team in elaborating requirements by White boarding and developing Acceptance Criteria, also ensures to build a text fixture with a component level automated test for the Acceptance test functions along the lines of the developed piece of code. Every piece of code checked in by the developer should have 100% Unit tested and all automated tests of the agile tester to be run along with the daily build process.
Agile testers perform ‘exploratory tests’ for non automatable functionality if any, focusing on exploration, discovery, investigation, learning and reporting rather than defining the process and writing heavy documentations. At this end juncture of sprint, agile tester helps the team to provide customer, a demo of the potentially shippable software thus marking the end of the sprint
Agile Testers at Scrum of Scrum level
An independent team of testers validate the product from the end to end functionality perspective which takes care of all the overlapping tasks like Performance Testing, System Integration Testing and Non Functional Testing( Cross Browser, Usablity, Accesiblity Etc). They also get involved in building and continuously enhance Test Framework with reusable test fixtures, classes and libraries, develop Test Approaches and adopt accelerators for new areas of technology in the testing. This team also set best practices in Agile testing in terms of process, Technology and tools etc. This team ensures that there are end to end test scripts build and executed in various environment as agreed and promoted in stages ( Ex: UAT->Production)
- Summary and Conclusion
Embracing Agile as a delivery model has become ‘essential’ as opposed to ‘optional’. The adoption of a robust agile process framework provides a definite advantage to release the product in time with a better quality and instigates all testers to transform their skill as per the agile demand. Need for time to market in a competitive environment where small releases to production with more business value is certainly a deal breaker compared to a big bang traditional release.
Modal Based Testing - Approach and PracticesAnup Paliwal
schedule 1 year agoSold Out!
This work presents a model based testing approach to be used in Model Driven Development and Software Testing Life Cycles.The Approach uses standard and defines model transformations from design model to test models.
What is “Model Based Testing?”
Model-based testing is a software testing technique in which the test cases are derived from a model
that describes the functional aspects of the system under test.
Modern software systems are often designed with the goal of maximizing flexibility in one way or
another The effectiveness of model driven testing is primarily due to the potential for automation it
offers. If a model is machine-readable testing and formal to the extent that it has a well-defined behavioral
interpretation, test cases can in principle be derived mechanically.
Testing, which is a widely used methodology in system validation, is a key method of assessing
the functionality of systems. A successful test case is one which furthers the
progress of ensuring that a system meets its quality standards. This purpose is best
achieved by MBT.
Keywords : Model Driven Testing,Machine Readable Testing,Modern Software,Automation Testing.
What Kind of Testing is Model-Based?
Model-based testing is used at all stages of software development, most often for integration and
system testing .MBT played a subordinate role in performance, usability, and security testing, with less
than 20 percent usage for each.
Why Model-Based Testing –
1) Unit testing will not be sufficient to check the functionalities
2) To ensure that the system is behaving in the same sequence of actions.
3) Model-based testing technique has been adopted as an integrated part of the testing process.
4) Commercial tools are developed to support model-based testing.
Business Process Testing in Insurance Domain
Business Process Testing (BPT) is a role based automated and /or manual testing approach for validating end to end business processes. In this, the test strategy, the test design, test execution and test data management are aligned by business processes.
BPT aligns testing with business objectives and dramatically reduces test cycle time by leveraging business subjects matter experts (SME’s) in the test design and quality optimization process. It also extols confidence in the team that the essential and critical business process are functioning correctly. Business Process Testing introduces the concept of reusable business components for test design. A test component can be a feature, function or an activity in an application screen.
It is built in QTP automation framework and used in conjunction with the HP Application Lifecycle Management (ALM) . Business Process Testing with HP Application Lifecycle Management (ALM) enables non-technical Subject matter experts (SME) to design and work with business components in a script free environment and to create an application-quality business process tests. This approach allows the SMEs to create BPT in ALM without even opening QTP. BPT allows the testing teams to start the test design process much earlier, during system design and hence accelerating the time-to-deployment for high-quality software.
BPT promotes major reduction in change management efforts and changes can be easily incorporated, these are a few of the advantages to count. Components easily blend with change if the idea of reusable blocks is implemented properly. This helps the business to drastically reduce the effort and time for test maintenance and also helps to improve the test efficiency for test creation. Business Impact of application changes is hence, well understood by the tester and aids them in quality testing.
Business Process Testing is gaining a lot of attention not just among testing fraternity but other professionals too. This white paper presents a brief overview of the HP Business Process Testing concept and its advantages for business and test teams. It provides an insight into the implementation and innovative approach of Business Process Testing using Component Based Testing for a model Insurance Project. Aligning testing with business process flow was never so easy. With BPT, we can attain parallel test coverage of functionalities and business process. All that needs to be done after creating business blocks is just choose the right building blocks and you are good to go.
Continuous performance testing and test automation made easy with Taurus, Jenkins and JmeterDipanjan Haldar
schedule 1 year agoSold Out!
When it comes to performance testing, JMeter is awesome but may not be complete. In this session,
we'll take a look at Taurus which is a free and open source automation framework, which is basically
an abstraction layer over JMeter (or Grinder or Gatling or Selenium, with more tool support
upcoming). The taurus tests can be easily integrated with jenkins using the available plugins and helps us in running the tests seamlessly.
Making Test Automation Simple with Taurus and Jmeter and integration with jenkins:
• Extremely simple setup and upgrading
• Ability to execute existing JMeter (or Grinder or Gatling or Selenium) tests
• The ability to create new tests from scratch using user-defined files
• Real-time reporting
• Ability to integrate with Jenkins for Continuous integration of performance tests
• Multiple test output formats
• Native results format of the underlying testing tool
• Console stats and pseudo-graphic charts during the test execution
• Easy way to define flexible pass/fail criteria. In case the results exceed a threshold, it is possible to
automatically mark test(s) as failed
• platform-independent- runs where Python and Java can run
- The entire implementation is based on open-source tools so no additional investment for tools.
- The Taurus files are easy to understand, so no expertise is required in Jmeter for performance test development and maintenance. Can be handled easily by any team.
- Daily reporting of the metrics helps to make concise decision about the overall quality of the product under test.
- Highly suitable for agile based environment.
This will be followed by a live -demo.
Modelling QA Transformation With PRIME FrameworkSumit Kumar
schedule 1 year agoSold Out!
This is very interesting time for QA industry with QA definitions being re-written with Agile and DevOps trend. Expectations from QA changing significantly with business trends around Digital, Data Analytics and many more!
Though, at one end we observe changes in perception around QA, in parallel QA also continues to keep riding maturity wave rapidly and especially where it had an early start to continue adopting to changes in software engineering. This upliftment of QA maturity is primarily coming in form of QA Transformation. QA Transformation is the mechanism where QA maturity upside move is being planned and executed leveraging different QA solutions, processes & capabilities focusing on evolving business objectives.
Interestingly, there has not been standard definitions around QA Transformation. Different organizations use it in various ways and dilute the real purpose of QA Transformation to some extent. Some organizations have taken it ahead in right way and have focused on uplifting their QA maturity significantly and sustainably realizing large gains. However, other organizations have consolidated any change they introduce in their QA approach or methods under QA Transformation which has understandably not delivered them the result they were looking for from QA Transformation.
This all happened for absence of the model which these organizations could have leveraged to build and run their QA Transformation and get the benefits they always desired for. It's critical that any QA Transformation model remains flexible to adjust to changing engineering practices and also provides scalability business look for.
This presentation brings forward the framework PRIME designed for modeling QA Transformation especially with emerging IT trends around Agile and DevOps as well as business trends around Digital, Big Data and others. Organizations looking at making jumpstart in QA Transformation will especially find this useful to move ahead and approach the QA Transformation right from start. Organizations already progressing on their QA Transformation will be able to use this to validate their approach around QA Transformation and make necessary adjustments.
This framework PRIME brings together different phases involved in setting up and driving QA Transformation. Considering that each organization is different and would need to align QA Transformation to their existing set ups, this framework emphasizes on providing guidelines instead of rules while defining step based approach on QA Transformation in simplified way. It encompasses the experience from some of industry’s significant QA Transformation programs and thus emphasizes on avoiding some of the frequent pitfalls observed in QA Transformation implementation. Suggested methods in the paper points to some of the methods used by author in QA Transformation assignments which have delivered effective results. Additionally, provides some of the best practices which can be leveraged by other organizations easily simplifying the implementation.
The PRIME framework is constructed to reduce the duration and efforts required in establishing and maintaining QA Transformation while ensuring that every QA Transformation initiative meets the objective of delivering significant and sustainable benefits for business and technology teams both.
Amalgamation of Behavior driven development (BDD), parallel execution and mobile automation
With the rise of Mobile first approaches, a substantial traffic has now shifted from the desktops to the Mobile phones. To ensure quality in mobile apps, Testing needs to be continuous and inclusive. This makes Mobile Test Automation a formidable business driver. Along with that there needs to be strong collaboration between developers, testers and non-technical or business participants in a software project to maintain application consistency across multiple platforms.
The intent of our whitepaper will be to provide a comprehensive mobile automation testing strategy using Behaviour Driven Development, optimized selection of target devices, and an effective combination of manual and automated testing tools to cover appropriate functional testing essential for getting your mobile applications to market on time and within budget.
This paper will also discuss on how the scenarios which are derived from the requirement can be automated using BDD approach across Web and Mobile. Also, it will highlight on how parallel execution can be achieved using BDD & Mobile Automation.