Parallel Test Execution Using Selenium Webdriver

Parallel Test Execution Using Selenium Webdriver Introduction Parallel test execution involves running a suite of automated tests in parallel as opposed to sequentially. You don’t execute your tests one by one. Rather, you take the entire batch and split it up amongst multiple servers so that each server can run a single test at a time. This techniques has some fantastic advantages to improve your overall software development life cycle. First, running your tests in parallel can significantly decrease your execution time. If you have enough resources to run all of your tests at once, then the duration of the test execution will last only as long as your slowest test. For example, if you have 100 tests and 100 virtual machines on which to run these tests, then dividing them in parallel will allow you to run 100 tests at once. If your slowest test takes two minutes to run, then that is how long it will take for the entire test suite to execute. Running these 100 tests sequentially will take you magnitudes of times longer because you can only execute one test at a time. Therefore, you need to add all of the test run times together to understand how long that will take. If we assume that each test takes two minutes to run, then running them sequentially will take 200 minutes of run time. That’s a 5000% difference! The second advantage that parallel test execution has over sequential test execution is that it gives your team a faster feedback loop. If your test suite can execute faster, then your team can have feedback faster...

Proper Black Box Test Case Design-part 2-Boundary Value Analysis

Proper Black Box Test Case Design - Part 2 - Boundary Value Analysis Our second post in this series focuses on efficient test case design using black box testing. The goal of these posts is to make you better at designing test cases so that you can develop higher quality systems. In-depth explanations and practice exercises are at the core of these tutorials. In part one of this tutorial, we discussed: What a well-designed test case is Different types of software testing Black Box Testing Equivalence Partitioning Boundary Value Testing Today, we are going to continue working on learning Black Box Testing techniques. Specifically, we will learn Boundary Value Testing (BVT). BVT further expands upon the concepts that you mastered in the Equivalence Partitioning Tutorial. You will utilize the equivalence partitioning technique to help you with boundary value testing. In the previous post, I started with an example of a very simple test case. I will further expand upon it here. Test Scenario Consider the following situation where a text box allows the following integers to be entered: 1 – 5 Success 5 – 9 Monkeys 9 – 11 Bananas Use your newly found skills to create equivalence classes. (See the completed example below.) You might notice that you run into an issue at all of the boundaries, or edge cases. For example, if you enter a 5, does that return a “Success” or “Monkeys”? Same goes for the 9; will that return “Monkeys” or “Bananas”? Testing the edge conditions in software testing is known as boundary value testing. Isn’t it awesome how the name makes complete sense? Boundary...

How To Design Test Cases for Testing – Part 1 Equivalence Partitioning

In today’s IT world, the lines between developers and QA Engineers are being blurred. With the emergence of Agile, Test Driven Development, Continuous Integration, and many other methodologies, software testing is becoming even more critical.   To support daily releases, multiple Operating Systems, and multiple browsers, the Development team (QA and Software Engineers) needs the capability to create test cases faster while increasing test coverage. Therefore, learning how to design test cases in the most efficient manner is becoming a critical skill in the IT industry.   There were a few occasions when not knowing these skills has come back to bite me in the wallet. I actually missed out on a few amazing opportunities because my skills weren’t up to par. However, one of my favorite quotes is, “Losers make excuses and winners make progress”.   Therefore, rather than sulking in pity, I take my weaknesses and improve upon them. Turning them into strengths. I spent countless hours of research, reading, and practice to improve. Today, as a result of my failures, I have more knowledge and power to deliver higher quality software.   I want to teach you the best way to design test cases, so that when your dream job comes along, you are prepared to show off your testing skills and impress them.   The ultimate goal with all of these testing techniques is to make you more efficient at writing tests. I will teach you how to write less test cases, but still have higher testing coverage.   Make sure that you actually do the exercises that I provide and then apply these skills...

Your Automation Test Sucks

                      Ugh, I am so frustrated after today. The very fact that I am sitting here the night before my holiday break writing this blog post should indicate my level of frustration. Basically, one of my managers asked me to turn off one of my automated checks until it is more stable. Although I’ve heard such silly comments before, after about 20 minutes of discussion, I realized there was no convincing him that turning off any automated check, at any point in time is never a good idea. As a result, I am here, at night, venting the bitter rage of my wounded heart upon the web. So, What is the Problem? Our group has a dedicated team that is responsible for making sure our applications stay up 24/7. This is basically a team of 2 people: an Ops person and another Engineer who is rotated weekly. Whenever this team receives production failure notices, they must look into them, figure out if they are critical to our applications and either take action to fix the problem or contact the application’s Subject Matter Expert (SME). Often, this team needs to wake up in the middle of the night and even on weekends to look at some production failures. The job sucks! I have an automated functional GUI check that runs every single hour to make sure that a user can login to our application. This automated check pulls up our website, logs in, and then validates that the application successfully loaded. One night, this test failed and the support team...

QA Automation: QTP tutorial – using the same script for multiple environments

Hi. Today, I will show you an awesome tutorial for using the same script to test multiple environments. Let's say you're working on an application that requires automation tests to run on two environments. The first environment is the test environment before deployment to production. And the second environment is the actual production environment after deployment. Let's also say that the functionality for both environments is exactly the same, but the login username and password differs based on the environment. In this scenario, you don't need to create two separate scripts to accommodate the differences in login credentials. You can create one script and just change the login credentials based on the environment. I will be using our premade framework to write the main script. This is a framework I haven't shared on our website so you will have to write your own code from scratch. I just want you to use this tutorial as an example. Let's get started! 1. Open UFT and create a new test. We will create the login functionality for our qtptutorial.net website. Some automation testers may create two separate scripts for these two environments which may look something like this: 'Test Environment Open_URL "http://www.qtptutorial.net/wp-login.php?loggedout=true" Set_TextField_ByHtmlid "user_login", 0, "TestEnvironment" Set_TextField_ByHtmlid "user_pass", 0, "123456" Click_Button "Log In", 0 'Prod Environment Open_URL "http://www.qtptutorial.net/wp-login.php?loggedout=true" Set_TextField_ByHtmlid "user_login", 0, "ProdEnvironemnt" Set_TextField_ByHtmlid "user_pass", 0, "678900" Click_Button "Log In", 0 Notice how these two scripts are exactly the same except for the login credentials depeneding on the type of enevironment. We will consolidate this into one script which will save us a lot of time now and in future maintenance. 2. I will create two global variables. One for the username and one for the password. Click file -->New-->Function Library and name the Library...

How To Download A Github Project and Open It in Visual Studio

Today I want to share with you how to download a project from Github. You can do this with any project, but I specifically want to teach you how to download this Automation Testing framework that I developed. The framework is HERE.   For Visual Studio 2015 (Since the project was coded in VS 2015, importing it into here is the easiest. Another version will have a few extra steps that I will show you all) 1. Go to the url in the search bar. Alternatively, you can also go to "github.com/nadvolod" and then find the project called "LightPomFrameworkTutorial". 2. Click the "Download ZIP" button to download the project.                       3. This is the .zip file that was downloaded. Go ahead and extract it to a location of your choice. 4. Open Visual Studio 2015 as administrator. 5. Open the Solution in Visual Studio.                         6. Go to the location of the extracted files. Open the "LightPomFramework.sln" file from VS. This is the solution file that will load all of the appropriate assets for you to make the automation framework run.             7. You might get this security warning. Go ahead and click "OK". Don't worry, I'm a trustworthy source and I won't be sending any viruses haha. You can yell at me if something goes wrong 🙂 8. In the Solution Explorer, you should not be able to now see all of the framework assets in all of their glory. 9. Build...

Pin It on Pinterest

Clef two-factor authentication