Tag

continuous delivery

Browsing

Introduction

We work hard to improve the functionality and usability of our autonomous testing platform to support your software quality initiatives. This month we’re thrilled to release a few of your most requested features; Hidden Parameters, Data Driven testing  via config files and Element Text condition. Check them out and let us know what you think.

Hidden Parameters

What is it?

When you use parameters in your tests, the values that are passed in during run time are saved and shown in the UI. Sometimes this information is sensitive and you may want the value to be hidden. This is now possible using the hidden parameters option available in the project settings page of the Testim editor. Learn more

Why should I care?  

You no longer have to worry about revealing sensitive information in your tests. This is especially true if your application is related to banking, security, insurance or any other domain that handles a large amount of sensitive data.

Data Driven testing now supports CSV, database and other external sources

What is it?

Now users have the ability to pass data sets at run time via config files. The newly added “overrideTestData” parameter in the beforeSuite hook will allow users to pass in multiple parameters to multiple tests at the same time. The same parameter can also be used to extract data from external sources such as CSV, Databases etc.

Why should I care?  

Data Driven testing is no longer just restricted to passing a json file within the tests. Now, you have the flexibility to pass this data at run time through a single config file. Also, you can extract data from external sources and use it within your tests. Everything happens automatically for you during run time. This makes test data setup much more extensible and reusable. Learn more

Talking about working with excel;  we already have detailed documentation of an alternate way to import excel data into Testim. You can learn more about here.

Element Text condition

What is it?

Testim provides several predefined conditions (“if statements”) to be used with steps.  For example, whether an element is visible or not. We just introduced a new condition which checks whether an element has a specific text. Just pass in a string, regex, or a js statement (you can use variables too!).

Why should I care?
Now you have the flexibility to add conditions based on element text instead of just checking for element being visible on the screen. Learn more

 

Customers have access to these new features now. Check it out and let us know what you think. If you’re not a customer, sign up for a free trial to experience autonomous testing. We’d love to hear what you think of the new features. Please share your thoughts on Twitter, LinkedIn or Facebook.

 

Introduction

We work hard to improve the functionality and usability of our autonomous testing platform to support your software quality initiatives. This month we’re thrilled to release a few of your most requested features; Loops, Help Tooltip, and several tutorial videos. Check them out and let us know what you think.

Loops

What is it?
Adding conditions to your test lets you control if some steps will run or not. You can add conditions to any type of step, including a group step. Now, with Loops you can execute a group of steps until a condition returns false.

Want to run a set of steps continuously until a certain condition is met? Now you can. Loops give you the ability to run the same set of actions a predetermined number of times or as long as a condition isn’t met.

Why should I care?  
This allows you to reach a specific result directly from the group’s properties, or you can go over the different iterations from inside the group. If one of the iterations failed, when entering the group, you will be taken directly to the failed iteration. Learn more

loops

Help Tooltip

What is it?
Authoring tests is easy (well at least with Testim) but troubleshooting takes time. To help you troubleshoot faster we’ve added tooltips to steps that fail. These tooltips will guide you through what you should look at and how you might troubleshoot a failed step.  

Why should I care?
Now you can troubleshoot failed steps faster and independently.

Tutorial Videos

What is it?
Need help running Testim tests from IDE? Or how to do data driven testing from an Excel file? These 3 minute or less videos will show you how. Check them out.

Filter Suite Runs by Suite

What is it?
A new filter has been added to our Suite runs view. Now you can filter the list of runs according to the name of your suite.

Why should I care?
This will allow you to easily find a particular run you did and compare different runs of the same suite. Learn more

filter by test suite run

Customers have access to these features and videos now. Check it out and let us know what you think. If you’re not a customer, sign up for a free trial to experience autonomous testing. We’d love to hear what you think of the new features. Please share your thoughts on Twitter or Facebook.

Tel Aviv—January 17, 2018—Ness, one of Israel’s leading IT services companies and Testim.io, the fastest growing provider of autonomous testing software, are joining forces today to help companies integrate testing into their CI/CD processes to reduce risk, speed up release cycles and ship higher quality software.

Ness has completed thousands of process management, BI & Analytics, software development and testing and QA projects for more than 500 organizations throughout Israel. Testim’s autonomous testing solutions are used by more than 100 global customers to automate UI testing for web and mobile software. Together, Ness and Testim.io offer customers a combined professional services and smart software solution to make software quality an organizational initiatives.

By joining forces, Ness and Testim.io will help customers accelerate their digital transformation journey achieving exceptional quality at reduced cost as well as better organizational collaboration.

“We are constantly looking for ways to help software delivery teams to release faster without compromising on quality,” says Omer Dror, Testing & Validation Business Division Manager for Ness . “Testim’s test stability and smart locations convinced us that together we can help customers gain more test coverage, accelerate their release cycles and improve productivity and time-to-market.”

On February 5, 2018 Ness and Testim invite software delivery professionals to participate in a free 1-Day conference located at Ness Headquarters in Tel Aviv.  

About Ness Technologies
Ness is the leading IT services company in Israel. With more than 65 years of successful management experience, Ness helps its customers with the most complex IT projects. 

About Testim
Testim leverages machine learning for the authoring, execution and maintenance of automated test cases. We use dynamic locators and learn with every execution. The outcome is super fast authoring and stable tests that learn, thus eliminating the need to continually maintain tests with every code change. NetApp, Gett, Wix and others run over 300,000 tests using Testim every month.

This is the third and final part of our series of interviews with Jake Kaldenbaugh, Strategic Exit (M&A) Advisor at GrowthPoint Technology Partners. In the first part of our video series Jake answered questions around players in the DevOps space, the constant evolution of software and the vast growth in mobile. In the second interview, Jake shared his perspective on the DevOps strategies of enterprise giants CA’s, IBM, Amazon, Microsoft and Atlassian. He also touched on what the sale of HPs impact will mean to the industry as well as testing’s role in continuous delivery. 

In this interview Jake covers:

  • Next generation platforms; containers, APIs and microservices
  • Testing’s role in the next generation of platforms
  • Digital transformations challenges
  • Up and coming startups in testing

Checkout the two previous interviews:

About GrowthPoint Technology Partners

GrowthPoint Technology Partners is an emerging growth investment banking boutique that helps growing technology firms with great technology create strategic value. Our team identifies leading companies in the areas of data, analytics, infrastructure, virtualization, security and systems management and helps lead them through successful value realization strategies that enable entrepreneurs and investors to achieve their best results.

Last week we released the first video in our three part series with Jake Kaldenbaugh, Strategic Exit (M&A) Advisor at GrowthPoint Technology Partners. In the first video Jake answered questions around players in the DevOps space, the constant evolution of software and the vast growth in mobile. Checkout the first video in the series.

In the second part of the interview Jake covers:

  • CA’s, IBM, Amazon, Microsoft and Atlassian DevOps strategies
  • The sale of HPs impact on the industry
  • Testing’s role in continuous delivery

About GrowthPoint Technology Partners

GrowthPoint Technology Partners is an emerging growth investment banking boutique that helps growing technology firms with great technology create strategic value. Our team identifies leading companies in the areas of data, analytics, infrastructure, virtualization, security and systems management and helps lead them through successful value realization strategies that enable entrepreneurs and investors to achieve their best results.

Today I had the pleasure of sitting down with Jake Kaldenbaugh, Strategic Exit (M&A) Advisor at GrowthPoint Technology Partners to discuss the state of the software development industry. As a senior banking leader Jake helps growing technology companies with great technology create strategic value.

In this interview Jake covers:

About GrowthPoint Technology Partners

GrowthPoint Technology Partners is an emerging growth investment banking boutique that helps growing technology firms with great technology create strategic value. Our team identifies leading companies in the areas of data, analytics, infrastructure, virtualization, security and systems management and helps lead them through successful value realization strategies that enable entrepreneurs and investors to achieve their best results.

Thank you to everyone who participated in our round table discussion on Choosing the Right DevOps Strategy: How far left should I shift? We had a solid turnout with lots of great questions from the audience. If you missed the live event, don’t worry…

You can watch the recorded session any time:

Tanya Kravtsov, Director of QA at Audible, and Bob Crews, President of Checkpoint Technologies shared their lessons learned from four different types of enterprise DevOps transformations.

They covered:

  • Practical suggestions for assessing your operational reality
  • Major pitfalls in DevOps transformations and how to avoid them
  • How to organize your team to increase productivity
  • Impact on development processes, ownership, tool stack and KPIs

Some of the audience questions they answered:

  • How do you ensure that security requirements are always considered in DevOps?
  • Which KPIs are important to track to ensure successful DevOps transformation?
  • What is an acceptable amount of technical debt? How do we know when it becomes a problem?
  • What are some metrics for measuring risk?

There were several questions that we were not able to address during the live event so I followed up with the panelist afterwards to get their answers.

Q: Why was continuous deployment listed twice on the diagrams?

Francis: Great catch. That was actually a typo, a marketing design bug slipped through to production… The “Continuous Deployment” label shown to the upper left, within the square encompassing the “Build” and “Test” phases in both the upper (Continuous Delivery) and bottom (Continuous Deployment) cycles, should have been labeled “Continuous Integration.”

Q: In reference to CD /CI what are the main benefits of doing smoke testing after production deployment? And, what could be an example of smoke testing?  

Tanya: Smoke test validating the most critical functionality of the product should be executed after every deployment to test the staging and production environments. This will help you uncover any deployment related issues and rollback the release if necessary without impacting the customer.  

Bob: Examples of “smoke testing” would be quick test to check for and validate successful login with valid data, login error message with invalid data, checking for broken links, tests to quickly validate the number and state of objects on a webpage, etc. These are very simple, but important tests. Typically they are run in production as one last check since many, perhaps most, organizations do not have a test environment that is an EXACT duplicate of production.

Q: Are automated tests the entire QA solution across all these organizations? Do the panelists see any value in manual, exploratory QA testers?

Tanya: Automated tests are an important component of the Continuous Delivery solution. It enables exploratory QA testers to focus on what they do best and actually test the new features of the product  by eliminating the need for manually running the same regression tests every time new code is committed.  

Bob: Absolutely. I believe it’s critical to carve out an approach to perform some quick manual, exploratory tests. These can be done as a separate initiative, apart from the validation taking place during these phases.

Q: What approach we should follow to test DevOps solutions?

Tanya: Any scripted DevOps solutions should be treated just like any code,  accompanied by unit and integration tests which run continuously in a test environment before the changes get promoted to the mainline.  In addition,  closely tracking KPIs discussed in the Webinar will alert us to any issues with the current solutions such as build up of technical debt or reduction in quality,  which should be acted upon immediately.   

Bob: I would need a little more information in order to provide a good answer. Knowing the current state of the organization’s testing approach, their objectives, the tools already in place, the skill set of current team members, etc. are just a few questions I would have before being able to provide any insight. If starting from scratch I would say start with becoming entrenched in an Agile approach. If you are already Agile then the next step would be to look at tackling Continuous Integration. Please feel free to connect with me Linkedin and I would be happy to chat more about your question.

About Tanya Kravtsov
Tanya Kravtsov is the Director of QA at Audible. She is building a new QA organization to support innovative web product development at scale. Previously, as head of automation and continuous delivery at ROKITT, senior QA manager at Syncsort, and VP at Morgan Stanley, Tanya focused on quality, automation, and DevOps practices, working with internal and external customers to transform development and testing processes. Tanya is passionate about process automation, continuous integration, and continuous delivery. She is a founder of the DevOpsQA NJ Meetup group and a frequent speaker at STAREAST, QUEST, and other conferences and events. Follow her on Twitter @DevOpsQA.

About Bob Crews
Bob Crews is the President of Checkpoint Technologies. He is a consultant and trainer with almost three decades of I.T. experience including full life-cycle development involving development, requirements management and software testing. He is also the President of the Tampa Bay Quality Assurance Association. He has consulted and trained for over 200 different organizations in areas such as effectively using automated testing solutions, test planning, implementing automated frameworks and developing practices which ensure the maximum return-on-investment with automated solutions.

Our client is the market leading data authority for the hybrid cloud. They provide a full range of hybrid cloud data services that simplify application management and data across cloud and on-site environment to accelerate digital transformation. Their solution empowers global organizations to unleash the full potential of their data to expand customer engagement, foster greater innovation, and optimize their operations.

The Challenge – Achieve CI/CD

Their application was complex and included many user flows, requiring the creation of thousands of functional tests with the goal of shifting left. In addition, they needed to test as close to development as possible.

Selenium was their first choice and a team of over a dozen testers was assembled to begin the task. After a few months it became apparent that it was going to take more time and man power to achieve their goal of CI/CD. The tests were complex and took three days to author. To make things worse, the tests would often break, leading the team to spend extra time maintaining and fixing the tests. Shifting left would require teaching the developers Selenium as well.

The lack of tools to troubleshoot a failed test (e.g screenshots to compare, details error messages pointing to the right step, test history or the parameters over the flows) led to long time-to-resolution involving a number of team members. A lot of time was wasted, not only trying to figure out why the test failed, but to also explain the discoveries to the developers.

Maintaining tests took a lot of my time. When developers run tests that fail it becomes more of a
distraction
than confidence in bug prevention.Both groups had to stop what they are doing to figure
out if its the functionality or if it’s the test. We found ourselves spending more time trying to stabilize
the tests than actually testing.
” – Company QA Manager

The Solution

Testim’s solution that uses machine learning for the authoring, execution and maintenance of automated test cases was implemented. With Testim they were able to capture the scenarios in minutes, as well as complement that with JavaScript syntaxes. The team was able to spend more time creating new tests, and validating the status of their application.

Today we have hundreds of tests running on every pull, giving the developers feedback to their code
within minutes. The developers themselves easily update test scenarios so QA can focus on increasing
coverage. We also significantly reduced our cost of quality: The rich information we get allows us to
reduce the time to troubleshoot by 80%.

The Results

As a rapidly growing enterprise, they needed a way to optimize processes through automation. This plays a significant role in their move to agile development. Within a couple months of using Testim, The team was able to create hundreds of their UI tests scenarios. Today, they are proud to say that they are authoring tests in under an hour compared to the three days it was originally taking.

Before Testim it would take 3 days to author a single test in Selenium, now even for the less
experiencedtester, writing tests takes under an hour, developers can update tests on the fly and
figure out where the tests are failing without any additional help.

Now, troubleshooting a failed tests takes a fraction of the time. There is an indication on which step failed, including JS syntaxes, screenshots comparing prior runs, and access to the DOM with detailed error messages.

However, the biggest impact was the reduction on maintenance. Tests are stable and trustworthy so when a test fails the user knows it is either due to a bug or the test requires a change in the flow. The team focused most of its time on increasing coverage knowing that the tests adapt to UI changes by the development team.

Today, we are proud to say that they are fully CI/CD, testing on every code push, and running thousands of tests every day.

Thank you to everyone who participated in our round table discussion on Cracking Your Test Automation Code: The Path to CI/CD. We had a great turnout with lots of solid questions from the audience. If you missed the live event, don’t worry… Just click here to watch the recorded session. There were several questions that we were not able to answer during the live event so I followed up with the panelist afterwards to get their answers.

Q: How do you implement CI/CD without using any tools?
Bas Dijkstra: Without any tools at all it will not be possible to do CI/CD. Maybe technically there are ways to do it, but it will be massively inefficient. You will need tools that help you do version control, building software and deploying it on a specific environment. If we just look at doing CI/CD without testing  tools, that is possible in theory, but you will need to do the required amount of checking by hand anyway to make sure that the software you delivered has a certain level of quality. Doing that manually will very likely be less efficient and act as a bottleneck in the process.

How can I improve backend testing of a mobile app beyond unit testing?
Oren Rubin: You can expand beyond the unit tests by adding API testing. This is also considered integrations tests, as you testing several units as one big unit. Consider that one big state that you need to initial, and the API calls (either REST, SOAP, etc) are like function calls, some getters, some setters which modify the state.

Q: What are the things we need to cover during API tests?
Bas Dijkstra: In short: connectivity (can I talk to the API at all?), syntax (is the data returned formatted correctly, are headers and status codes OK?), semantics (is the data returned the data I expected?), functionality (does the API call have the required side effects (data stored, processes triggered, etc.), as well as no unintended side effects), performance and security (authorization, authentication).

How should one avoid overlapping in functional and unit test automation?
Oren Rubin: It’s easy to overlap the two, but it’s almost unavoidable as each unit is tested on it’s own. They are all tested via the integration tests, which usually doesn’t care about a specific unit but mostly on part of a user story/flow. Each action (e.g. click) can drive a lot of units and check them and the integrations. Remember that E2E tests come at a high price, so choose them wisely.

Is it good to separate manual test cases from automated test cases?
Bas Dijkstra: Yes. Especially since translating your ‘manual’ test cases (where you’ll likely check a number of things in the process) to automated test cases (which should ideally check one thing only) 1-to-1 will likely lead to inefficient automation. Determining what to automate and what to leave for testers is an art in itself, and simply handing someone a batch of manual test cases to automate isn’t likely to give you good results. 

What is the difference between unit test vs. integration tests in regards to front end testing?
Oren Rubin: There is no difference. Unit tests allow you to test a single unit (e.g. a controller of a component) and mock everything else; use spies, stubs, and mocks. An integration test, which might test the entire UI, where you can check unit loading order works the CSS (which is global by definition, if you exclude future shadow dom), and integrations between the different units. If you don’t mock the servers, then it’s actually End-to-End testing. 

About the panelists 

Bas Dijkstra
Bas is an independent test automation professional who has been in the test automation and service virtualization field for over 10 years now, designing and developing test automation and service virtualization solutions that enhance and improve test teams and test processes. Find out more information about Bas on his LinkedIn profile. For questions and more information you can always send him an email at bas@ontestautomation.com or give me a nudge via @_basdijkstra on Twitter.

Oren Rubin
Oren has over 20 years of experience in the software industry, building mostly test-related products for developers at IBM, Wix, Cadence, Applitools, and Testim.io. In addition to being a busy entrepreneur, Oren is a community activist and and the co-organizer of the Selenium-Israel meetup and the Israeli Google Developer Group meetup. He has taught at Technion University, and mentored at the Google Launchpad Accelerator.

Struggling to get answers to these Test Automation questions? Watch the Recorded  Webinar

  • What constitutes an adequate degree of test automation coverage?
  • Does every single function in the application need a corresponding test associated with it or just the core functionality?
  • Does every application need a full end to end automation suite built out or just enough to satisfy QAs and the business? 

Then register for this webinar: Cracking Your Test Automation Code: The path to CI/CD where Bas Dijkstra, Test Automation Consultant, On Test Automation and Oren Rubin, CEO of Testim discuss the Do’s, Don’ts and misconceptions of test automation.

Bring your questions to get answers to:

  • Why your code impacts your approach to testing?
  • What’s the right mix of unit, functional, end-to-end, UI and other types of testing?
  • How to create your test automation strategy and tactical execution plan?
  • What pitfalls to avoid that will increase your cost of quality?

This round-table discussion will include insights from these industry experts:

  • Bas Dijkstra, On Test Automation
  • Oren Rubin, CEO of Testim

About the presenters:

Bas Dijkstra
Bas is an independent test automation professional who has been in the test automation and service virtualization field for over 10 years now, designing and developing test automation and service virtualization solutions that enhance and improve test teams and test processes. Find out more information about Bas on his LinkedIn profile. For questions and more information you can always send him an email at bas@ontestautomation.com or give me a nudge via @_basdijkstra on Twitter.

Oren Rubin
Oren has over 20 years of experience in the software industry, building mostly test-related products for developers at IBM, Wix, Cadence, Applitools, and Testim.io. In addition to being a busy entrepreneur, Oren is a community activist and and the co-organizer of the Selenium-Israel meetup and the Israeli Google Developer Group meetup. He has taught at Technion University, and mentored at the Google Launchpad Accelerator.

Be smart & save time...
Simply automate.

Get Started Free