Hello and Welcome Automation Testing Geek!!
So, finally you have landed here to learn an Enterprise-Level Automation Testing Solution, which will not only make you feel ahead of the curve, but also will introduce you to the newer DevOps world of testing. I am glad that you have made a right choice.
With the advancement of technology, new things are happening in testing world. Organizations now look for easy to implement, better, complete, and less-maintainable solutions of Testing. Focus is shifting from large number of Test Cases to lesser and more risk-covering Test Cases, GUI to API testing, Manual Testing to Exploratory Testing, Service Virtualization, BI (Business Intelligence) and so on. We will talk about all these terms with reference to Tosca in upcoming posts.
Tricentis has taken the newer trends in testing quite seriously and they are putting a lot of effort and innovation in developing their automation tool, “Tosca.” Nowadays, automation tools are not just assessed on the basis of how well they are suitable for automation, but also on the basis of how well they can do test management. We want our requirements, test data, test cases, execution status, test summary reports, test completion reports, risk coverage, and bug reporting all to be managed. What if you get all this at a single place. Yes, you heard it right! It is possible and the tool which can provide you with such a broad-spectrum of solutions is “Tricentis Tosca TestSuite.”
Interested in learning Tosca ? Click here to learn Advanced Tosca Training from hkrtrainings Experts!
Tosca Testsuite is a software package developed by Tricentis which provides effective end-to-end testing solution to enterprises. It is a model based test automation tool (we will understand this term fully once we jump to the section of automation), which helps in keeping all the technical information, test cases, and test data separately which in turn reduces the effort of maintaining large Test Case Repositories.
Tosca provides a single-step solution for automating 30+ technologies. We can find the full supported technology stack on Suported Technology Stack of Tosca. The most common automation platforms are Web, Desktop, Mobile, Web Services, Database, SAP, Mainframes, SalesForce, ServiceNow etc.
Tosca’s user-friendly, well-organized, ribbon-based layout reduces the learning curve of how to use this tool and its model based automation approach (scriptless automation) enables the individuals even from non-programming background to use it for automation.
Tosca is breaking the notion that automation testing is restricted to the ones who know scripting or some know how of coding only and is transforming manual testers into automation specialists by its scriptless way of automation.
We will discuss through all features of Tosca and its increasing market-value throughout this tutorial.
Tosca Testsuite comprises of:
TOSCA Commander is the core for this testsuite which enables easy creation, management, execution and analysis of TestCases. Don’t get confused by the names mentioned above, we will understand more about each term when we will talk more about Tosca.
Let’s deep dive slowly and understand this tool! Be with me!
Current Version: 10.0
Top 30 Tosca interview questions & answers for 2020
Tosca is a licensed tool, so in order to fully explore its capabilities, we will need a license, though we can start with trial or community version.
In order to get the executable file to install Tosca, please follow below steps:
Note: To install Tosca local administrative rights are required and in order to use Tosca write permission is required for the directory C:\Tosca_Projects.
There are two types of installations available for TOSCA:
Let’s have a look at both of these types one-by-one:
Attended Installation:-In this type of installation manual intervention is required in order to follow the dialog screens that appear after running TOSCA<version number>.exe file.
Step I: Navigate to the file TOSCA<version number>.exe and do right click Open or double-click on the file.
Prior to the installation, auto-verification is done by system in order to verify that all required components to run Tosca are available. In case, there are missing components, they are shown in InstallShield Wizard dialog box.
Click on Install in order to install the required components.
After this, the InstallShield Wizard Welcome dialog appears. This Wizard provides a step-by-step guide to install Tosca. At any step of the setup we can click Back to return to the previous step or click Cancel to exit the installation dialog or Next to continue with the installation.
Step II:Then comes our favorite screen of “License Agreement” Please read it carefully and choose “I accept the terms in the license agreement” and click Next.
Note: There are a lot of third-party software that are used as components of Tosca. We can find a list of all these components in file C:\Program Files (x86)\TRICENTIS\Tosca Testsuite\dll\License.txt after installation.
Step III: Next step is to choose one of the Installation Types — Trial, Customer, Community.
Choose the type and click on Next button.
Step IV: The next dialog box asks us whether to enable Tosca Diagnostics or not. By choosing this option, your usage data is anonymously sent to Tricentis, which help them in providing you with improved problem analysis and resolution. This option is mandatory for Trial and Community users.
Make your choice and click on Next button.
Step V: The next screen asks you about the Installation Directory for installing Tricentis Tosca Testsuite, you can go with the default settings (recommended) or click on change to install TOSCA in the desired directory. Click Next to proceed further.
Step VI: Select install directories for TOSCA Projects and Application Data. Please note that TOSCA Users need write access to these directories. Network drives are not supported to host the directories Tosca_Projects and APP DATA. Click Next to continue.
Step VII: In this step, you can choose out of the two installation types available as Typical and Custom. Typical is for installing all Tricentis TOSCA Testsuite components whereas by choosing Custom you can make your own choices about what packages you want to install and what you want to leave, though Typical is recommended.
Step VIII: If you have chosen the option Custom as Installation Setup Type, then you can manually deselect the components which you do not want to install as shown below.
Step IX: Click on Install option from dialog box to start the installation process of Tosca.
Step X: By choosing the installation type as Customer, we have the option of using Tosca’s cloud license platform. We can deselect the checkbox if we want to go with other type of License. This step can be skipped by Trial and Community users.
Step XI:Wow, we are good to take the ride of TOSCA now, click on Finish to complete the installation process.
The Attended type of installation steps are complete now. Click on the Next Button to jump to “Unattended Installation” post.
The demand for delivering quality software faster — or “Quality at Speed” — requires organizations to search for solutions in Agile, continuous integration (CI), and DevOps methodologies. Test automation is an essential part of these aspects. The latest World Quality Report 2018–2019 suggests that test automation is the biggest bottleneck to deliver “Quality at Speed,” as it is an enabler of successful Agile and DevOps adoption.
Test automation cannot be realized without good tools; as they determine how automation is performed and whether the benefits of automation can be delivered. Test automation tools is a crucial component in the DevOps toolchain. The current test automation trends have increased in applying artificial intelligence and machine learning (AI/ML) to offer advanced capabilities for test optimization, intelligent test generation, execution, and reporting. It will be worthwhile to understand which tools are best poised to take advantage of these trends.****
#automation-testing #automation-testing-tools #testing #testing-tools #selenium #open-source #test-automation #automated-testing
What do you do when you have lots of free time on your hands? Why not learn test programming strategies and approaches?
When you’re looking for places to learn test programming, Test Automation University has you covered. From API testing through visual validation, you can hone your skills and learn new approaches on TAU.
We introduced five new TAU courses from April through June, and each of them can help you expand your knowledge, learn a new approach, and improve your craft as a test automation engineer. They are:
These courses add to the other three courses we introduced in January through March 2020:
Each of these courses can give you a new set of skills.
Let’s look at each in a little detail.
“Appium is an open-source tool for automating native, web, and hybrid applications on different platforms.”
In the introduction, Orane describes the course parts:
The first chapter, broken into five parts, gets your system ready for the rest of the course. You’ll download and install a Java Developer Kit, a stable version of Node.js, Android Studio and Emulator (for a mobile device emulator), Visual Studio Code for an IDE, Appium Server, and a sample Appium Android Package Kit. If you get into trouble, you can use the Test Automation University Slack channel to get help from Orane. Each subchapter contains the links to get to the proper software. Finally, Orane has you customize your configuration for the course project.
Chapter 2 deals with elements and screen interactions for your app. You can find elements on the page, interact with those elements, and scroll the page to make other elements visible. Orane breaks the chapter into three distinct subchapters so you can become competent with each part of finding, scrolling, and interacting with the app. The quiz comes at the end of the third subchapter.
The remaining chapters each deal with specific bullets listed above: sessions and screen capture, timing, element attributes, and using element states. The final summary chapter ensures you have internalized the key takeaways from the course. Each of these chapters includes its quiz.
When you complete this course successfully, you will have both a certificate of completion and the code infrastructure available on your system to start testing mobile apps using Appium.
Andrew Knight, who blogs as The Automation Panda, teaches the course on Selenium WebDriver with Python. As Andrew points out, Python has become a popular language for test automation. If you don’t know Python at all, he points you to Jess Ingrassellino’s great course, Python for Test Programming, also on Test Automation University.
In the first chapter, Andrew has you write your first test. Not in Python, but Gherkin. If you have never used Gherkin syntax, it helps you structure your tests in pseudocode that you can translate into any language of your choice. Andrew points out that it’s important to write your test steps before you write test code — and Gherkin makes this process straightforward.
The second chapter goes through setting up a pytest, the test framework Andrew uses. He assumes you already have Python 3.8 installed. Depending on your machine, you may need to do some work (Macs come with Python 2.7.16 installed, which is old and won’t work. Andrew also goes through the pip package manager to install pipenv. He gives you a GitHub link to his test code for the project. And, finally, he creates a test using the Gherkin codes as comments to show you how a test runs in pytest.
In the third chapter, you set up Selenium Webdriver to work with specific browsers, then create your test fixture in the pytest. Andrew reminds you to download the appropriate browser driver for the browser you want to test — for example, chromedriver to drive Chrome and geckodriver to drive Firefox. Once you use pipenv to install Selenium, you begin your test fixture. One thing to remember is to call an explicit quit for your webdriver after a test.
Chapter 4 goes through page objects, and how you abstract page object details to simplify your test structure. Chapter 5 goes through element locator structures and how to use these in Python. And, in Chapter 6, Andrew goes through some common webdriver calls and how to use them in your tests. These first six chapters cover the basics of testing with Python and Selenium.
Now that you have the basics down, the final three chapters review some advanced ideas: testing with multiple browsers, handling race conditions, and running your tests in parallel. This course gives you specific skills around Python and Selenium on top of what you can get from the Python for Test Programming course.
#tutorial #performance #testing #automation #test automation #automated testing #visual testing #visual testing best practices #testing tutorial
I’m a Developer Advocate and one of the things I love most about my role is that I travel all of over the world — meeting and consulting with engineering teams, and discussing the challenges that they face.
One thing that I’ve realized about building quality software is…the struggle is real!
Everyone is trying to figure out how to rapidly-produce software that is yet of high quality. So we did some research (shout out to Moshe Milman who helped with this effort) and gathered best practices from some of the top companies in software, financial services, healthcare, gaming, and entertainment verticals and I’ll share with you what these innovative development teams are doing to achieve great levels of success with their test automation initiatives.
As I go through the points of research, feel free to grade your team’s maturity in that respective area. By the end of the article, you’ll have your Test Automation Maturity Level.
100% of companies researched automate their tests
For starters, 100% of the companies we researched employ automated tests to expedite their release cycles. When the goal is to release software on a continuous cycle, test automation is a must-have. There simply isn’t enough time to manually test every new feature as well as manually execute regression tests to make sure existing functionality isn’t broken. So these teams invest an extensive amount of effort into automating their tests so that they are confident in their product each time they deploy.
Percentages showing who on the team is responsible for writing tests
I know from personal experience how difficult it is for developers to find the time to write tests and also how difficult it is to have test teams write the code to automate tests, so we inquired about this a bit more to determine how are teams overcoming these challenges.
Every single one of these companies has its developers involved in writing tests. Many of them said their developers take care of the unit tests, while the QA team is responsible for writing the integration and end-to-end tests.
A whopping 60% of the teams shared that they no longer have the distinction between development and QA engineers, and instead have hybrid engineers. Their goal here is to have developers own ALL the testing of their code, as well as the triaging and maintenance of those tests.
What they discovered is what I already know — developers aren’t the best at this. There’s not much time, and frankly not much interest from developers to go beyond writing their unit tests. So, many of these teams have had to bring in qualified experts to help out.
I dug a bit more to learn how exactly the Quality Advocates are assisting here. We got a variety of answers but here were some of the common ones:
Let’s discuss each of these…
Write Test Infrastructure
The Quality Advocates find the best testing libraries, create the test automation codebase, and all of the utility functionality the developers will need to write their tests. That way it’s not much overhead for the developers. The developers can just focus on cranking their tests out.
Unfortunately, many of the Computer Science and Bootcamp programs that graduated your developers did not teach them how to test. This is a huge hurdle for developers who may have good intentions and want to test their code. They may not ever share this with you, but a LOT of the developers that I speak with simply don’t know how to test. These quality advocates specialize in this stuff and can help the developers think of scenarios, as well as teach them how to write good tests. If you think this may be a problem for your developers and you don’t have a quality advocate just yet, send them to Test Automation University which is an online learning platform that provides free courses on this very thing.
Finally, quality advocates develop testing strategies for the team. They help them assess risk and come up with a plan of attack on what should be tested and how thoroughly.
They also have a big picture view which is greatly needed because your developers are zoned in on their features and their tests. Someone needs to consider how these features interact with one another so that more sophisticated tests can be developed.
Someone also needs to strategize on which tests automatically run given certain pull requests. The advocate can help with that.
The quality advocates also help keep the test suites relevant by pruning out tests that are no longer of high business value.
If your team automates _any _tests at all, go ahead and give yourself 10 points!
We wanted to make sure that we were talking about more than unit tests here, so we inquired about which tests the companies automated.
Give yourself 10 points for each of the types you automate: unit, web/mobile, API, security, performance, and accessibility. If your team does not develop mobile apps, just give yourself 10 points so that you don’t have a deficit. The same goes for if your company does not develop web apps or APIs.
Programming languages used for test automation
I found this interesting because it aligns with what some thought leaders have been preaching for years. I’ll admit, I’ve been a bit stubborn over my career and I tend to go for the language that the automation will be most comfortable in but it seems perhaps I need to rethink that when I want the developers to contribute.
#tutorial #performance #testing #programming #automation #test automation #automated testing #qa #automated testing best practices
If you use WebdriverIO regularly, and you are unfamiliar with the basics of using Applitools for automated visual testing, you will appreciate this course. Nyran focuses you on how to add visual test automation with Applitools to your WebdriverIO tests.
Nyran breaks the course into eight main chapters. He gives this description in the course overview:
Each of these chapters provides a methodical approach to getting going with Applitools. I’ll give a quick overview of each.
If you read this review or take the course, you know why visual testing. Your UI and end-to-end tests result in the rendered output. You can write all the functional tests that grab locators, enter data, effect action, and cause the appropriate output locators to have the appropriate values. But, until you look at the result, you cannot tell if the input and output conform to design and usability expectations.
Nyran did not explain the most frequently-experienced reason for visual testing — unintended consequences of code changes over time. Our experience shows us that most expected application changes get tested, but unintended changes cause problems.
Nyran does a nice job explaining how to get started. You need an Applitools API key, which you can get from the Applitools console. Nyran explains why you set up a local environment variable for your API key (so you do not need to include your API key in your test code directly). He also points to the GitHub repo he uses for all the examples in the course.
Chapter 3 involves the first coding examples for setting up Applitools. With a simple:
npm install @applitools/eyes.webdriverio
You get the the node instructions for installing the Applitools Eyes to your WebdriverIO setup. After this, you can install the Applitools Eyes service to your tests. He shows code examples of what test code looks like when calling Applitools:
#performance #testing #automation #automated testing #webdriver #visual testing #automated testing best practices #webdriver io #ui automation tools
TestProject is a free automation tool that promises to give painless automation experience. It has the feature of record and plays associated with a developer SDK. It also has the capability to build and utilize addons as per need. It is based on automation tools like Appium and Selenium.
Having said that, TestProject removes the complication of maintaining and downloading multiple browser drivers required for testing an application in various platforms and browsers. This is overcome by having an executable file that can run in the majority of browsers and devices.
#automation #automation testing #codeless test automation #scriptless test automation #test automation #testproject