<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Execute Automation Test</title>
    <description>The latest articles on DEV Community by Execute Automation Test (@executeautotest).</description>
    <link>https://dev.to/executeautotest</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F63244%2Fe79e2f2f-0637-4752-8488-5c1cbd7dc4ba.jpg</url>
      <title>DEV Community: Execute Automation Test</title>
      <link>https://dev.to/executeautotest</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/executeautotest"/>
    <language>en</language>
    <item>
      <title>Introduction to Selenium Automation Testing</title>
      <dc:creator>Execute Automation Test</dc:creator>
      <pubDate>Thu, 29 Nov 2018 08:42:39 +0000</pubDate>
      <link>https://dev.to/executeautotest/introduction-to-selenium-automation-testing-3i69</link>
      <guid>https://dev.to/executeautotest/introduction-to-selenium-automation-testing-3i69</guid>
      <description>

&lt;p&gt;In an era of extremely interactive and responsive software processes where several enterprises are using some form of Agile methodology, automation testing has become crucial for many software projects. Automation testing beats manual one all the time as it requires less time and human resource has a lower risk for errors, allows regular execution, supports lights out the execution, regression testing and also functional testing. There are many commercial and open source tools available for supporting the growth of automation testing. Specifically, Selenium is one of the most widely-used tools to build test automation for web applications.&lt;/p&gt;

&lt;h2&gt;1. What is Selenium Testing?&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a-I5xRvN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/Cross-browser-testing-in-Selenium-Webdriver-2.png" class="article-body-image-wrapper"&gt;&lt;img class="aligncenter wp-image-357 size-full" src="https://res.cloudinary.com/practicaldev/image/fetch/s--a-I5xRvN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/Cross-browser-testing-in-Selenium-Webdriver-2.png" alt="Selenium introduction" width="525" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selenium first came in 2004 when Jason Huggins was testing an internal application at ThoughtWorks. Having realized the repetitious manual testing of their applications became ineffective, he created a Javascript which could drive interactions with the page, allowing him to automatically rerun tests against various browsers. Selenium was an outstanding innovation at that time because no other product allowed users to control a browser from a language of their choice.&lt;/p&gt;

&lt;p&gt;In general, Selenium is an open source framework that allows users to test applications across various browsers and platforms. It offers a number of tools and APIs for automating user interaction on pure HTML and JavaScript applications in browsers such as Firefox, IE, Google Chrome, Safari, and so on. What makes Selenium highly flexible is the ability to bind to different common languages, allowing users to write in their preferred programming languages such as Java, Javascript, C#, PHP, Perl, Ruby, .Net, and Python.&lt;/p&gt;

&lt;h2&gt;2. Why is Selenium getting popular?&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3s9g0afk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/Test-Automation.jpg" class="article-body-image-wrapper"&gt;&lt;img class="size-full wp-image-360 aligncenter" src="https://res.cloudinary.com/practicaldev/image/fetch/s--3s9g0afk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/Test-Automation.jpg" alt="Test Automation" width="960" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Current technology is completely dominated by machines whose behavior is controlled by software. Will the machines behave as we want them to? Everywhere? Every time? Software testing is key to getting the answers we need for these questions. At the end of the day, it is the software application’s success rate which is going to control your business development. This is also true for web applications because the internet is currently the town square of the global village and websites have become the billboards to advertise businesses.&lt;/p&gt;

&lt;p&gt;Let’s take the e-commerce industry as an example. Be it Amazon, Flipkart or eBay, online companies rely on customer traffic to their websites and web-based mobile applications for business. Imagine if something catastrophic happened such as the prices of a number of products being capped off at $10, all because of a small bug in a “not so easily readable” part of the code. How can we prevent such a disaster? By testing the code before deployment, right? This takes us to the next topic of manual testing.&lt;/p&gt;

&lt;p&gt;Manual testing refers to QA testers manually resting web application. Tests need to be performed manually in every environment, using various datasets while recording the success or failure rate of every transaction. The challenges of relying on human testers include fatigue, boredom, delay in work, mistakes and errors due to manual work. These flaws indicate the need for automation testing as well as the importance of Selenium.&lt;/p&gt;

&lt;h2&gt;3. Breaking down the Selenium suite&lt;/h2&gt;

&lt;h3&gt;3.1. The Beginning - Selenium IDE&lt;/h3&gt;

&lt;p&gt;Selenium Integrated Development Environment (IDE) is the Firefox plug-in tool that allows users to record, playback, edit and debug test scripts to export them in a preferred programming language. Thanks to specific language IDE provided to a test domain, users can use the tool to test without learning a new scripting language and makes it much easier and more convenient to send commands to the browser and automate testing. However, users can only use the tool, which is limited, to test web applications in Firefox, and thus other browsers cannot be tested by using IDE.&lt;/p&gt;

&lt;h3&gt;3.2. The Evolution - Selenium RC and Webdriver&lt;/h3&gt;

&lt;p&gt;Selenium Remote Control (RC), or Selenium 1, can help users run the test script in various browsers by launching them as a proxy server. However, with the introduction of the extended version - &lt;a href="https://seleniumtestingtutorials.com/selenium-tutorials/write-script-selenium-webdriver-java/" rel="noopener"&gt;Webdriver (Selenium 2)&lt;/a&gt;, RC is no longer supported.&lt;/p&gt;

&lt;p&gt;Webdriver is widely-used among developers and QA teams for regressions tests and cross-browser testing, as it allows users to test on a spectrum of browsers and operating systems using the native operating system functionality. This means that commands perform as a human would if they were using the same browser.&lt;/p&gt;

&lt;h3&gt;3.3. Optimization - Selenium Grid&lt;/h3&gt;

&lt;p&gt;Selenium Grid lets users run multiple tests simultaneously on various browsers and machines to speed up testing. Selenium Grid contains one machine called a hub and multiple nodes for execution. The more nodes users have, the more tests they can run at the same time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uCkmIoSx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/Globel-networking-Converted-1024x662-1.png" class="article-body-image-wrapper"&gt;&lt;img class="size-full wp-image-361 aligncenter" src="https://res.cloudinary.com/practicaldev/image/fetch/s--uCkmIoSx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/Globel-networking-Converted-1024x662-1.png" alt="Selenium IDE" width="1024" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;4. The future of Selenium&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7HyuvNQo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/Components-of-Selenium-e1539747834705-1.png" class="article-body-image-wrapper"&gt;&lt;img class="size-full wp-image-362 aligncenter" src="https://res.cloudinary.com/practicaldev/image/fetch/s--7HyuvNQo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/Components-of-Selenium-e1539747834705-1.png" alt="Selenium components" width="808" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Global enterprises are increasingly shifting towards the adoption of Selenium because of attractive benefits provided by the automation testing tool - cost-effectiveness, high speed, compatibility, and much more. This means the need for Selenium will grow enormously in the near future. As a result, Selenium 4 is all set to release at the end of 2018. Major improvements in the upcoming Selenium version 4 have been revealed, including a new protocol, new plugin system and CLI runner, improved Selenium Grid and so on.&lt;/p&gt;

&lt;p&gt;Besides, Selenium-based automation tools are being more popular. For instance, Winium is a Selenium-based tool for testing and automating desktop applications on the Windows desktop. It is easy to adapt for those who are familiar with and already aware of most of the functionality on Selenium. There are currently a few bugs in Winium and it is still undergoing a development process, just like Selenium once did.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BD1C6z7h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/5-best-practices-of-implementing-selenium-test-automation-1.jpg" class="article-body-image-wrapper"&gt;&lt;img class="aligncenter wp-image-363 size-full" src="https://res.cloudinary.com/practicaldev/image/fetch/s--BD1C6z7h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://seleniumtestingtutorials.com/wp-content/uploads/2018/10/5-best-practices-of-implementing-selenium-test-automation-1.jpg" alt="Future Selenium" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Furthermore, while Selenium is the most popular method of QA testing, it demands programming skills, knowledge, time and effort to create the test automation framework to meet specific testing requirements. Therefore, there has been an increasing demand for an alternative approach that eliminates Selenium's technical complexities to allow testers to efficiently set up, create, run, report and manage their automated tests. Katalon Studio (Free tool), UFT (Commercial tool), TestComplete (Commercial tool) seem like the worthy contenders in this department.&lt;/p&gt;

&lt;p&gt;So that draws the conclusion to this blog on &lt;a href="https://seleniumtestingtutorials.com/selenium-basics/selenium-introduction/" rel="noopener"&gt;&lt;strong&gt;what is Selenium Testing&lt;/strong&gt;&lt;/a&gt;. In the world of software testing, Selenium has become an omnipresent name. As the automation testing continues to grow, Selenium, along with its alternatives, will pick up their inspiration and keep going on with great successors for the mission of helping automation testing become better everyday.&lt;/p&gt;


</description>
      <category>seleniumtesting</category>
      <category>seleniumtutorials</category>
    </item>
    <item>
      <title>Using functional UI unit tests to improve Automated Tests’ effectiveness</title>
      <dc:creator>Execute Automation Test</dc:creator>
      <pubDate>Mon, 21 May 2018 07:00:40 +0000</pubDate>
      <link>https://dev.to/executeautotest/using-functional-ui-unit-tests-to-improve-automated-tests-effectiveness-18i2</link>
      <guid>https://dev.to/executeautotest/using-functional-ui-unit-tests-to-improve-automated-tests-effectiveness-18i2</guid>
      <description>

&lt;h2&gt;
  
  
  Why functional UI test automation is flaky
&lt;/h2&gt;

&lt;p&gt;It is widely accepted that functional UI test automation helps save QAs a lot of time so that they can focus more on User Acceptant Testing and Exploratory Testing. However, there are some drawbacks that prevent many organizations and teams from successfully adopting it. The cost of writing and maintaining scripts as well as the level of flakiness are typically higher than other types of testing. That is also the reason why some people often criticize UI automation testing.&lt;/p&gt;

&lt;p&gt;Nowadays, web application evolves really quickly with Agile-style short development cycles. Moreover, In favor of agile development and deployment, the architecture of web applications on both backend and frontend side is getting increasingly complex with multiple components separated logically and physically that are only linked together via web services. Even with a substantial amount of automated unit tests and integration tests, doing functional UI test automation is still necessary to make sure the software will behave as desired.&lt;/p&gt;

&lt;p&gt;Therefore, instead of abandoning functional UI test automation, we had been actively looking for a way to mitigate its defects in our team, and as a result, maximize its benefits and ROI. When we take a closer analysis, we realize that there are three main causes that reduce the effectiveness of UI automation testing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The time spent on writing good and stable XPath/CSS locators, and update them whenever the underlying HTML markup changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The network itself is sometimes flaky which leads to test failures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The code does not handle some rare cases such as race condition.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The third cause is actually by bugs inside the software and should really be fixed by the engineering team (don’t call it flaky tests!). The second one can be mitigated by putting the application under test (AUT) and the tests in the same data center with a robust network (e.g. Amazon Web Services). Therefore, we focused on resolving the first cause.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testable UI
&lt;/h2&gt;

&lt;p&gt;To solve this problem, we need to understand why unit testing is highly robust and reliable. If you have googled around the internet on unit testing, you can see thousands of articles about writing testable code. Indeed, if the code is not structured carefully, the effectiveness of unit testing will be greatly affected, and it will take longer to write unit tests with good coverage.&lt;/p&gt;

&lt;p&gt;Similarly, having a good XPath locator for an element is always easy even with QAs if the element were composed of unique and stable attributes. They may be made up by the developers themselves, or by the JavaScript libraries used inside the software. The list of these attributes, along with their changes, should be communicated timely between developers and QAs. We call this kind of UI “testable UI”, and the responsibility to write testable UI lies in the hand of the developers.&lt;/p&gt;

&lt;p&gt;However, we do not let our developers writing automated UI tests. One reason is the budget — it depends on teams and companies with here we need to focus our development resources on build new features. Another reason is that QAs often do a better job in writing tests, because they focus on the users’ perspective (that’s what the word “functional” is for), while developers’ first priority is often to prove their code works (no offense!). Therefore, we came up with a very simple workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Developers write the code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;They then write very simple automated tests to prove that they have covered all expected scenarios.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;These tests are attached to corresponding Jira issues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;QAs write complete automated tests based on “hints” in developers submitted tests.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We call simple UI tests that developers write “functional UI unit tests”. They are very short and dead simple scripts that can be thrown away later. They should be composed without much time thinking about structure, design, coding convention etc.&lt;/p&gt;

&lt;p&gt;This workflow brings about many benefits for both developers and QAs:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;QAs can verify very quickly if the developers have understood and covered expected scenarios.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It encourages developers to make the UI testable, with all elements easy to locate. QAs can also verify the testability by taking a look at the functional unit tests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The direct consequence of #1 and #2 is that the communication overhead will be reduced. QAs rarely need help from developers to resolve issues in the test scripts, or to clarify their understanding about scenarios.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;QAs spend less time on writing XPath/CSS locators and instead can pay more attention to the stories and the test project’s structure, which should be treated as a complete and serious software project on it own.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For the next step, we need a good tool to ease this workflow.&lt;/p&gt;

&lt;p&gt;Read the full article &lt;a href="https://medium.com/@alicealdaine/using-functional-ui-unit-tests-to-improve-automated-tests-effectiveness-eea6e0f4c0cf"&gt;here&lt;/a&gt;&lt;/p&gt;


</description>
      <category>katalonrecorder</category>
      <category>softwaretesting</category>
    </item>
    <item>
      <title>Behavior Driven Testing in Automated testing</title>
      <dc:creator>Execute Automation Test</dc:creator>
      <pubDate>Mon, 14 May 2018 04:26:24 +0000</pubDate>
      <link>https://dev.to/executeautotest/behavior-driven-testing-in-automated-testing-6n3</link>
      <guid>https://dev.to/executeautotest/behavior-driven-testing-in-automated-testing-6n3</guid>
      <description>

&lt;h2&gt;
  
  
  &lt;strong&gt;1.What is Behavior Driven Testing?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Behavior Driven Testing (BDT) is an uncommon term in software testing/ development compared to Behavior Driven Development (BDD). Tests in Behavior driven testing are most often focused on the behavior of users rather than the technical functions of the software. BDT is the best choice when you want to show your business point of view and the requirements of the product. To spread out the product ideas, BTD uses very easily understandable language to make sure everyone in the team does not miss anything, even they are non-technical guys. Hence people who are in charge of business analysis and product management could join actively the testing process. Behavior Driven Testing is gaining momentum as lots of organizations are looking at it as a solution to their automation and collaboration challenges. BDT framework has been successfully implemented by various QA teams in various domains. Furthermore, it is the premise for implementing &lt;a href="https://www.katalon.com/resources-center/tutorials/data-driven-testing/"&gt;Data-driven testing&lt;/a&gt; much more successfully and easily.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2.Why Behavior Driven Testing originated?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Since the time test automation started, it has evolved tremendously with new concepts, framework design, and tools. The low usability, rigidity and high maintenance cost has been the reason for the evolution of automation frameworks. &lt;br&gt;
Evolution of Test frameworks: &lt;br&gt;
&lt;strong&gt;&lt;em&gt;Core frameworks &amp;gt; Record and Playback&amp;gt; Data-driven &amp;gt; Keyword driven &amp;gt; Hybrid &amp;gt; Behaviour driven testing.&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
One of the common downsides when using these frameworks is that It is hard for non-technical people like Business analysts, management people to read and understand the test cases. But Behaviour driven testing can handle it. It has helped to fill the communication gap by writing the test cases in natural language. It is a relatively new agile software development approach that focuses on communication; encouraging collaboration between developers, QA and business participants; to help bridge the Business-IT alignment gap. The scenarios are written to build up a clear understanding of the desired behavior and this happens through discussion with stakeholders.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3.Advantages of Behavior Driven Testing&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration&lt;/strong&gt;: It builds closer relationships among business Analysts, QA, and Dev through the Behaviour Clarification Reviews. It’s also helpful for communicating the requirements effectively. Verified by BAs and testers to make sure of the acceptance criteria.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy Review and Feedback&lt;/strong&gt;: By writing the test cases in natural language which is human-readable, no development skills will be required. Business Analysts can actively participate in the process of creating the automated test cases, review and give their feedback to improve them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Right Focus&lt;/strong&gt;: BDT helps to focus on the requirements and the business point of view rather than focusing too much on testing the technical implementation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Greater ROI&lt;/strong&gt;: It has been observed that the behavior of the software stays for longer than the implementation. So, behavior driven tests are easier to modify and hence results in greater ROI. Also, the BDT tools are open source which further reduces the investment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No longer costly to maintain&lt;/strong&gt;: With BDT code redundancy can be minimized due to ‘step reusability’ feature. Hence, these tests are less costly to maintain.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4.How Behavior Driven Testing implemented?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;There is a plethora of open source BDT frameworks available in many programming languages and supporting different platforms. For instance, Cucumber (preferably with Ruby), JBehave for Java, NBehave and specflow for.Net, Behat for PHP and Twist for Groovy etc. The BDT layer is implemented on top of the customized framework so it’s about building up layer upon layer only. The behavior driven tests are given-when-then style steps written in natural language. Of course, the implementation of these steps has to be done in a programming language of one’s choice. Below is the outline of Behavior Driven Testing process:  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Business Analyst writes a formal User story.&lt;/li&gt;
&lt;li&gt;Tester writes the scenarios based on the user story.&lt;/li&gt;
&lt;li&gt;Scenarios get reviewed by the business team.&lt;/li&gt;
&lt;li&gt;Automation engineer writes the step definitions for the scenario steps.&lt;/li&gt;
&lt;li&gt;Scenarios get automated by the QA team.&lt;/li&gt;
&lt;li&gt;Run the automated scenarios and fix if any bugs exist.&lt;/li&gt;
&lt;li&gt;Automated tests run as regression tests.&lt;/li&gt;
&lt;li&gt;User accepts the software (Acceptance and Quality Criteria met)&lt;/li&gt;
&lt;/ol&gt;


</description>
      <category>behaviordriven</category>
      <category>datadriventesting</category>
      <category>softwaretesting</category>
    </item>
    <item>
      <title>The Differences Between Testing and Debugging</title>
      <dc:creator>Execute Automation Test</dc:creator>
      <pubDate>Thu, 05 Apr 2018 03:51:58 +0000</pubDate>
      <link>https://dev.to/executeautotest/the-differences-between-testing-and-debugging-104f</link>
      <guid>https://dev.to/executeautotest/the-differences-between-testing-and-debugging-104f</guid>
      <description>

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VZWfH7m0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i1.wp.com/testautomationresources.com/wp-content/uploads/2018/04/Devlopers-Vs-Testers-01.png%3Fresize%3D1024%252C387%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VZWfH7m0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i1.wp.com/testautomationresources.com/wp-content/uploads/2018/04/Devlopers-Vs-Testers-01.png%3Fresize%3D1024%252C387%26ssl%3D1" alt="The Differences Between Testing and Debugging"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it comes to software testing, the battle between Tester and Developer is never-ending due to the different approaches to perfect product definition. Testing and Debugging become the “weapons” that are used in that endless battle. But in fact, these terms are usually mistaken to be the same.&lt;/p&gt;

&lt;p&gt;In order to provide you a deeper view of the distinctions between them, in this article, we will be talking about the &lt;a href="https://testautomationresources.com/software-testing-basics/differences-testing-debugging/"&gt;differences between Testing and Debugging&lt;/a&gt; and some tips that can help you get eager to debug &amp;amp; debug more effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The differences between Testing &amp;amp; Debugging
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is Testing?&lt;/strong&gt;&lt;br&gt;
Testing: Basically, testing is a process of exploring the system to find defects present in the software, and not only that, this process has to locate the defects and define what will happen once these defects occur. This process is performed in the testing phase by testing team, and after this phase, they will report to the developer team to debug.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Some popular testing tools&lt;/em&gt;: &lt;a href="https://docs.seleniumhq.org/"&gt;Selenium&lt;/a&gt;, &lt;a href="https://www.katalon.com/"&gt;Katalon Studio&lt;/a&gt;, &lt;a href="https://smartbear.com/product/testcomplete/overview/"&gt;TestComplete&lt;/a&gt;,…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Debugging?&lt;/strong&gt;&lt;br&gt;
Debugging: Once Development team received the report from the testing team, they will start debugging. The purpose of this phase is to locate the bug and rids the software of it. It is a one-off process and is done manually. In this process, a special tool called debugger is used in locating the bugs, most of the programming environments have the debugger.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Some popular Debugger tools&lt;/em&gt;: &lt;a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools"&gt;WinDbg&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/OllyDbg"&gt;OllyDbg&lt;/a&gt;, &lt;a href="https://www.hex-rays.com/products/ida/"&gt;IDA Pro&lt;/a&gt;,…&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Testing&lt;/th&gt;
&lt;th&gt;Debugging&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Performed by testers&lt;/td&gt;
&lt;td&gt;Performed by developer or development team&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can be done manually or automatically&lt;/td&gt;
&lt;td&gt;Can only be done manually&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can be predefined when starting testing. The test result could be predicted&lt;/td&gt;
&lt;td&gt;Start with unknown conditions and it is hard to predict the result&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Find the programming failure&lt;/td&gt;
&lt;td&gt;Demonstrate that it’s only an unattended small mistake&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Could be done automatically by using automated testing tools&lt;/td&gt;
&lt;td&gt;Automatic debugging of software is still a dream of programmers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The purpose is to find the bug&lt;/td&gt;
&lt;td&gt;The purpose is to find the cause of a bug&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s----iOd4O1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i1.wp.com/testautomationresources.com/wp-content/uploads/2018/04/Testing-debugging-workflow.png%3Fw%3D564%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s----iOd4O1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i1.wp.com/testautomationresources.com/wp-content/uploads/2018/04/Testing-debugging-workflow.png%3Fw%3D564%26ssl%3D1" alt="Typical Testing &amp;amp; Debugging workflow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Read more: &lt;a href="https://testautomationresources.com/web-testing/execute-automation-testing-in-3-steps/"&gt;Execute automation testing in 3 steps&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. 5 Tips to help your debugging process more effective
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;- Prioritize the bug&lt;/strong&gt;&lt;br&gt;
The first thing you have to take into consideration when debugging is the user experience. In detail, if your software has poor performing, then your user will leave you. Prioritizing the bug helps you know how much the bug affects on your user and determine which bug to fix first. If can use a risk assessment matrix to prioritize the bug.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Reproduce the bug&lt;/strong&gt;&lt;br&gt;
Make sure that you have reproduced the original bug before making any changes. If you don’t reproduce the bug and proceed to make changes, it will take up a lot of your time if someone re-opens a ticket because the bug hasn’t been removed yet. You won’t remember what you have done before. So, make sure to reproduce the original bug and in case you can’t reproduce it, then ask someone who can.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Do not assume things work the way they are meant to&lt;/strong&gt;&lt;br&gt;
A certain amount of paranoia is required when bug-fixing. Clearly something doesn’t work as it’s meant to, otherwise, you wouldn’t be facing a problem. Be open-minded about where the problem may be – while still bearing in mind what you know of the systems involved. It’s unlikely (but possible) that you’ll find that the cause of the problem is a commonly-used system class – if it looks like System. String is misbehaving, you should test your assumptions carefully against the documentation before claiming to have found a definite bug, but there’s always a possibility of the problem being external.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Know the error code&lt;/strong&gt;&lt;br&gt;
Knowing the HTTP error code will give you a big advantage in diagnosing bugs, for example:&lt;/p&gt;

&lt;p&gt;404 – You might have the wrong URL in your app&lt;br&gt;
401 – Your credentials are likely wrong&lt;br&gt;
418 – You’re talking to a teapot!&lt;br&gt;
429 – You’re making too many requests&lt;br&gt;
If you get an HTTP error code, always Google it to make sure you understand it. Again, it’ll save you a lot of time! The same goes for Database drivers and other protocols, search the error with the name of the database and look for the official docs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- If completely “stuck”, ask someone for help!&lt;/strong&gt;&lt;br&gt;
If you have no idea to solve the problem you are facing and feeling very demoralized, here are some workarounds:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take a break, approach the bug from a different angle.&lt;/li&gt;
&lt;li&gt;Get more aggressive with tracing and logging.&lt;/li&gt;
&lt;li&gt;Search engines, Forums,… are the powerful ways that you can find the answer for your problems from peers, communities and even professionals. Give them as much information as possible, they will help you figure it out.&lt;/li&gt;
&lt;li&gt;Destroy something (Just for stress relief!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
By the end of the day, both Testing and Debugging exist for the only one reason that is to make the product better and better. No matter which team you are belonging to (Testing team or Debugging team), you are all happy when getting the positive feedback for the improvements of product and it is also the time when the battle is paused.&lt;/p&gt;

&lt;p&gt;Thank you for reading and Happy testing!&lt;br&gt;
Original source: &lt;a href="https://testautomationresources.com/software-testing-basics/differences-testing-debugging/"&gt;Differences Between Testing and Debugging&lt;/a&gt;&lt;/p&gt;


</description>
      <category>testing</category>
      <category>debugging</category>
      <category>software</category>
    </item>
    <item>
      <title>A Comparison of Automated Testing Tools</title>
      <dc:creator>Execute Automation Test</dc:creator>
      <pubDate>Wed, 28 Mar 2018 07:55:13 +0000</pubDate>
      <link>https://dev.to/executeautotest/a-comparison-of-automated-testing-tools-13lc</link>
      <guid>https://dev.to/executeautotest/a-comparison-of-automated-testing-tools-13lc</guid>
      <description>

&lt;p&gt;A defining factor for successfully applying test automation in software projects is choosing and using the right set of test automation tools. This is a daunting task, especially for those new to software test automation because there are so many tools in the market to choose from, each having different strengths and weaknesses. There is no tool that can fit all automated testing needs which makes finding the right tool difficult. Learn how to identify the right automation tool for your project with this qualitative comparison of Katalon Studio to other popular automated testing toolsets in the market.&lt;/p&gt;

&lt;h2&gt;
  
  
  OVERVIEW OF TOOLS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.katalon.com/"&gt;Katalon Studio&lt;/a&gt; is an automated testing platform that offers a comprehensive set of features to implement full automated testing solutions for mobile and Web applications. Built on top of the open-source Selenium and Appium frameworks, Katalon Studio allows teams to get started with test automation quickly by reducing the effort and expertise required for learning and integrating these frameworks for automated testing needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.seleniumhq.org/"&gt;Selenium&lt;/a&gt; is perhaps the most popular automation framework that consists of many tools and plugins for Web application testing. Selenium is known for its powerful capability to support performance testing of Web applications. Selenium is a popular choice in the open-source test automation space, partly due to its large and active development and user community.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www8.hp.com/us/en/software-solutions/unified-functional-automated-testing/"&gt;Unified Functional Testing (UFT)&lt;/a&gt;, formerly QuickTest Professional (QTP), is probably the most popular commercial tool for functional test automation. UFT offers a comprehensive set of features that can cover most functional automated testing needs on the desktop, mobile and Web platforms.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://smartbear.com/product/testcomplete/overview/"&gt;TestComplete&lt;/a&gt; is also a commercial integrated platform for desktop, mobile and Web application testing. Like UFT, TestComplete offers a number of key test automation features such as keyword-driven and data-driven testing, cross-browser testing, API testing and CI integrations. This tool supports a number of languages including JavaScript, Python, VBScript, JScript, DelphiScript, C++Script, and C#Script for writing test scripts.&lt;/p&gt;

&lt;h2&gt;
  
  
  COMPARISON OF TOOLS
&lt;/h2&gt;

&lt;p&gt;The table below provides a comparison of the tools based on the key features of software automation.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Features&lt;/th&gt;
&lt;th&gt;Katalon Studio&lt;/th&gt;
&lt;th&gt;Selenium&lt;/th&gt;
&lt;th&gt;UFT&lt;/th&gt;
&lt;th&gt;TestComplete&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Test development platform&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cross-platform&lt;/td&gt;
&lt;td&gt;Cross-platform&lt;/td&gt;
&lt;td&gt;Windows&lt;/td&gt;
&lt;td&gt;Windows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Application under test&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Web and mobile apps&lt;/td&gt;
&lt;td&gt;Web apps&lt;/td&gt;
&lt;td&gt;Windows desktop, Web, mobile apps&lt;/td&gt;
&lt;td&gt;Windows desktop, Web, mobile apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scripting languages&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Java/Groovy&lt;/td&gt;
&lt;td&gt;Java, C#, Perl, Python, JavaScript, Ruby, PHP&lt;/td&gt;
&lt;td&gt;VBScript&lt;/td&gt;
&lt;td&gt;JavaScript, Python, VBScript, JScript, Delphi, C++ and C#&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Programming skills&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Not required. Recommended for advanced test scripts&lt;/td&gt;
&lt;td&gt;Advanced skills needed to integrate various tools&lt;/td&gt;
&lt;td&gt;Not required. Recommended for advanced test scripts&lt;/td&gt;
&lt;td&gt;Not required. Recommended for advanced test scripts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Learning curves&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ease of installation and use&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Easy to setup and run&lt;/td&gt;
&lt;td&gt;Require installing and integrating various tools&lt;/td&gt;
&lt;td&gt;Easy to setup and run&lt;/td&gt;
&lt;td&gt;Easy to setup and run&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Script creation time&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Quick&lt;/td&gt;
&lt;td&gt;Slow&lt;/td&gt;
&lt;td&gt;Quick&lt;/td&gt;
&lt;td&gt;Quick&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Object storage and maintenance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Built-in object repository, XPath, object re-identification&lt;/td&gt;
&lt;td&gt;XPath, UI Maps&lt;/td&gt;
&lt;td&gt;Built-in object repository, smart object detection and correction&lt;/td&gt;
&lt;td&gt;Built-in object repository, detecting common objects&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Image-based testing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Built-in support&lt;/td&gt;
&lt;td&gt;Require installing additional libraries&lt;/td&gt;
&lt;td&gt;Built-in support, image-based object recognition&lt;/td&gt;
&lt;td&gt;Built-in support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DevOps/ALM integrations&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Many&lt;/td&gt;
&lt;td&gt;No (require additional libraries)&lt;/td&gt;
&lt;td&gt;Many&lt;/td&gt;
&lt;td&gt;Many&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Continuous integrations&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Popular CI tools (e.g. Jenkins, Teamcity)&lt;/td&gt;
&lt;td&gt;Various CI tools (e.g. Jenkins, Cruise Control)&lt;/td&gt;
&lt;td&gt;Various CI tools (e.g. Jenkins, HP Quality Center)&lt;/td&gt;
&lt;td&gt;Various CI tools (e.g. Jenkins, HP Quality Center)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Test Analytics&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.katalon.com"&gt;Katalon Analytics&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Product support&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ticketing support, community, dedicated staff (third-party support services)&lt;/td&gt;
&lt;td&gt;Open source community&lt;/td&gt;
&lt;td&gt;Dedicated staff, community&lt;/td&gt;
&lt;td&gt;Dedicated staff, community&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;License type&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Freeware&lt;/td&gt;
&lt;td&gt;Open source (Apache 2.0)&lt;/td&gt;
&lt;td&gt;Proprietary&lt;/td&gt;
&lt;td&gt;Proprietary&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;License and maintenance fees&lt;/td&gt;
&lt;td&gt;License and maintenance fees&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Strengths and weaknesses
&lt;/h2&gt;

&lt;p&gt;The comparison table above mainly focus on the common features of an automated testing tool. The following presents another perspective by picking and comparing key strengths and limitations of the tools.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tools&lt;/th&gt;
&lt;th&gt;Strengths&lt;/th&gt;
&lt;th&gt;Limitations&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Katalon Studio&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;No licensing and maintenance fees required (paid dedicated support services is available if needed).&lt;/li&gt;
&lt;li&gt;Integrating necessary frameworks and features for quick test cases creation and execution.&lt;/li&gt;
&lt;li&gt;Built on top of the Selenium framework but eliminating the need for advanced programming skills required for Selenium&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Emerging solution with a quickly growing community. &lt;/li&gt;
&lt;li&gt;Feature set is still evolving.&lt;/li&gt;
&lt;li&gt;Lack of choices for scripting languages: only Java/Groovy is supported.&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Selenium&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Open source, no licensing and maintenance fees.&lt;/li&gt;
&lt;li&gt;Large and active development and user community to keep pace with software technologies.&lt;/li&gt;
&lt;li&gt;Open for integration with other tools and frameworks to enhance its capability&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Testing teams need to have good programming skills and experience to set up and integrate Selenium with other tools and frameworks.&lt;/li&gt;
&lt;li&gt;New teams need to invest time upfront for setup and integration.&lt;/li&gt;
&lt;li&gt;Slow support from the community.&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UFT&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Mature, comprehensive automated testing features integrated into a single system.&lt;/li&gt;
&lt;li&gt;Dedicated user support plus an established large user community.&lt;/li&gt;
&lt;li&gt;Requiring only basic programming skills to get started with test creation and execution.&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Costly solution: license and maintenance fees are considerably high.&lt;/li&gt;
&lt;li&gt;Possible high costs for upgrades and additional modules.&lt;/li&gt;
&lt;li&gt;Supporting only VBScript.&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;TestComplete&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Mature, comprehensive automated testing features integrated into a single system.&lt;/li&gt;
&lt;li&gt;Many scripting languages to choose from.&lt;/li&gt;
&lt;li&gt;Only basic programming skills needed.&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Like UFT, considerable licensing and maintenance fees needed for TestComplete.&lt;/li&gt;
&lt;li&gt;Additional fees for extra modules and add-ons.&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;There is no one-size-fits-all tool for automated testing. It is highly recommended that testers evaluate various tools in order to select what would best meet their automated testing needs. Programming languages and technologies used to develop software continue to evolve, as do the automated testing tools, making cost a significant factor in tool selection. Commercial vendors often charge for tool upgrades, which can be substantial if your software uses emerging and frequently changing technologies. Open source and non-commercial tools, on the other hand, do not incur additional charges but require effort and expertise for integrating new upgrades. It is difficult to find the support and expertise needed for integrating various tools and frameworks into open-source solutions. Emerging tools that integrate with open-source frameworks, like Katalon, offer a viable alternative to both commercial and open-source automated testing solutions.&lt;/p&gt;

&lt;p&gt;Original post: &lt;a href="https://www.katalon.com/resources-center/blog/comparison-automated-testing-tools/"&gt;A Comparison of Automated Testing Tools&lt;/a&gt;&lt;/p&gt;


</description>
      <category>automatedtesting</category>
      <category>tools</category>
      <category>comparision</category>
    </item>
    <item>
      <title>Top 3 Selenium IDE alternatives for Firefox &amp; Chrome.</title>
      <dc:creator>Execute Automation Test</dc:creator>
      <pubDate>Mon, 26 Mar 2018 06:49:06 +0000</pubDate>
      <link>https://dev.to/executeautotest/top-3-selenium-ide-alternatives-for-firefox--chrome-3hha</link>
      <guid>https://dev.to/executeautotest/top-3-selenium-ide-alternatives-for-firefox--chrome-3hha</guid>
      <description>&lt;p&gt;Dear Selenium IDE’s users,&lt;/p&gt;

&lt;p&gt;It was a bad news for the tester community since &lt;a href="https://seleniumhq.wordpress.com/2017/08/09/firefox-55-and-selenium-ide/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Selenium+%28The+Official+Selenium+Blog%29" rel="noopener noreferrer"&gt;Selenium IDE no longer works&lt;/a&gt; from Firefox 55 onwards. Selenium IDE is one of the most widely used automated testing tools ever, this stop, therefore, raises a high demand in looking for other Selenium IDE alternatives.&lt;/p&gt;

&lt;p&gt;Selenium IDE alternatives, or Selenium IDE replacements, refer to automation testing tools that can be considered a viable alternative, the automated testing tool must be comparable to Selenium IDE in terms of features, the ease of installation and setup, learning curve, and costs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28151904%2F1_JidOCWgcbQtICstuEJ3wAw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28151904%2F1_JidOCWgcbQtICstuEJ3wAw.png" alt="Selenium IDE alternative"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Below are some potential successors of Selenium IDE. But first, let’s go back to the old days of this excellent solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. Selenium IDE history&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28152226%2FJason-Huggins.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28152226%2FJason-Huggins.jpeg" alt="Jason-Huggins"&gt;&lt;/a&gt;&lt;br&gt;
Selenium was originally developed by Jason Huggins in 2004 as an internal tool at ThoughtWorks. Huggins was later joined by other programmers and testers at ThoughtWorks, before Paul Hammant joined the team and steered the development of the second mode of operation that would later become “Selenium Remote Control” (RC). The tool was open sourced that year.&lt;/p&gt;

&lt;p&gt;In 2005 Dan Fabulich and Nelson Sproul (with help from Pat Lightbody) made an offer to accept a series of patches that would transform Selenium-RC into what it became best known for. In the same meeting, the steering of Selenium as a project would continue as a committee, with Huggins and Hammant being the ThoughtWorks representatives.&lt;/p&gt;

&lt;p&gt;In 2006, Selenium IDE was donated to Selenium Project by Shinya Kasatani of Japan. He created Selenium as a Firefox extension that can automate the browser through a record-and-playback feature. He came up with this idea to further increase the speed in creating test cases.&lt;/p&gt;

&lt;p&gt;In 2007, Huggins joined Google. Together with others like Jennifer Bevan, he continued with the development and stabilization of Selenium RC. At the same time, Simon Stewart at ThoughtWorks developed a superior browser automation tool called WebDriver. In 2009, after a meeting between the developers at the Google Test Automation Conference, it was decided to merge the two projects and call the new project Selenium WebDriver, or Selenium 2.0.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28153501%2Fphilippe-hanrigou.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28153501%2Fphilippe-hanrigou.jpg" alt="philippe-hanrigou"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 2008, Philippe Hanrigou (then at ThoughtWorks) made “Selenium Grid”, which provides a hub allowing the running of multiple Selenium tests concurrently on any number of local or remote systems, thus minimizing test execution time. Grid offered, as open source, a similar capability to the internal/private Google cloud for Selenium RC. Pat Lightbody had already made a private cloud for “HostedQA” which he went on to sell to Gomez, Inc.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. What is Selenium IDE? Why is Selenium IDE so successful?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Selenium IDE&lt;/strong&gt; is a portable software-testing tool for web applications. It is open-source Firefox add-on, web developers and testers can download and use it without charge.&lt;/p&gt;

&lt;p&gt;Originally, Selenium IDE was supposed to be a rapid prototyping tool, which did not provide iteration or conditional statements for test scripts. But it can offer different extension points for users to enhance, via its own plugin system. Thanks to various plugins were introduced over the time, Selenium IDE now becomes a comprehensive functional automated testing tool.&lt;/p&gt;

&lt;p&gt;Not only supporting record &amp;amp; playback function, Selenium IDE also offers other features: scripting, debugging, reporting, etc. With the full set of most common functions, Selenium IDE is a complete tool for testers to save their time working on the testing project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28155141%2FSelenium-IDE%25E2%2580%2599s-plugin-page.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28155141%2FSelenium-IDE%25E2%2580%2599s-plugin-page.png" alt="Selenium-IDE’s-plugin-page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is stated by the Selenium team that the Selenium developers encourage best practices in test automation that requires a certain amount of programming, with one of supported programming languages. However, this contains the drawback: most testing frameworks built on top of Selenium are quite developer-centric. Therefore, they need extra efforts to install and configure programming language runtime and components before testers can work on the project.&lt;/p&gt;

&lt;p&gt;Because of that critical entry barrier and excessive learning curve, many companies prefer commercial solutions with comprehensive features for automation testing (like UFT or TestComplete), even these options are costly and the underlying engine may not be as good as Selenium WebDriver.&lt;/p&gt;

&lt;p&gt;Meanwhile, Selenium IDE is still the perfect choice for those who stick to Selenium. In addition, for modest teams of test engineers with a small number of automated test cases, Selenium IDE can also be utilized as an apart tool, which completely powers their automation projects.&lt;/p&gt;

&lt;p&gt;While being stable, Selenium IDE was built on Firefox’s add-on platform, which was fine at that time, but not anymore since Firefox has lost if dominant position. The Chrome’s add-on platform was totally incompatible with the Firefox’s, and without any resource, there has not been a single attempt to port Selenium IDE to other web browsers.&lt;/p&gt;

&lt;p&gt;When Mozilla decided to &lt;a href="https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions/Firefox_addons_developer_guide" rel="noopener noreferrer"&gt;shut down the old add-on platform&lt;/a&gt; at the end of this year, it was well accepted that Selenium IDE will no longer be around in the near future. And that test engineers have to look for something else.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28155504%2FMozilla%25E2%2580%2599s-announcement-of-its-platform-changes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd1h3p5fzmizjvp.cloudfront.net%2Fwp-content%2Fuploads%2F2017%2F09%2F28155504%2FMozilla%25E2%2580%2599s-announcement-of-its-platform-changes.png" alt="Mozilla’s-announcement-of-its-platform-changes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks to the great experience from Selenium IDE, Selenium no longer limits itself in the community of developers, who are not in charge of testing. Instead, it becomes a magical solution for software testers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. The viable Selenium IDE alternatives:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://robotframework.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;3.1. Robot framework:&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;– Test cases are generated using keyword testing methodology written in a tabular format.&lt;/p&gt;

&lt;p&gt;– It also contains Robot Integrated Development Environment (RIDE), which helps write test cases easily by offering framework specific code completion, syntax highlighting, so on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;– The complex installation, the lack of standalone test recorder tool, and a keyword-driven language with a low level of descriptiveness.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.protractortest.org/#/" rel="noopener noreferrer"&gt;&lt;strong&gt;3.2. Protractor:&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;– Simple installation and updating. Within 1-2 command, both testing framework and Selenium WebDriver will be installed nicely.&lt;/p&gt;

&lt;p&gt;– The use of JavaScript, one of the easiest-to-use programming languages to learn, especially for those to have limited programming background.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;– Protractor is too flexible but also unprepared. It requires experienced developers to get involved before the team can start on it: set up the project and the proper reporting plugin, and write Page Object scaffold.&lt;/p&gt;

&lt;p&gt;– The Protractor team may mess with sync/async stuffs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.katalon.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;3.3. Katalon Studio&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;– Installation experience: users just need to unzip the package and they are ready to start. No programming language runtime. No extra components or plugins required.&lt;/p&gt;

&lt;p&gt;– The &lt;a href="https://www.katalon.com/resources-center/tutorials/create-test-case-using-script-mode/" rel="noopener noreferrer"&gt;scripting interface&lt;/a&gt; allows users to switch between a keyword-base table and a code editor. This is extremely useful for those who want to learn to write Selenium test case on their own.&lt;/p&gt;

&lt;p&gt;– Unlike Selenium IDE, the &lt;a href="https://www.katalon.com/resources-center/tutorials/create-test-case-using-web-recorder-utility/" rel="noopener noreferrer"&gt;recording capability&lt;/a&gt; of Katalon Studio is powerful on major web browsers: Chrome, Firefox, and IE.&lt;/p&gt;

&lt;p&gt;– Katalon Studio can be considered a viable Selenium IDE alternatives since it provides other convenient functions (reporting and integration) which are competitive to paid solutions (UFT, TestComplete).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;– While web and mobile testing are very comprehensive, some users may want to see more build-out in API testing module.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Updated:&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Katalon Automation Recorder extension for &lt;a href="https://chrome.google.com/webstore/detail/katalon-automation-record/ljdobmomdgdljniojadhoplhkpialdid?utm_source=chrome-ntp-icon" rel="noopener noreferrer"&gt;Chrome&lt;/a&gt; and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/katalon-automation-record/" rel="noopener noreferrer"&gt;Firefox&lt;/a&gt; has been introduced by Katalon Studio team. This Extension was the champion project of Katalon Studio Hackathons contest. Katalon Automation Recorder was developed to support users who no longer be able to record and playback automation tests using the obsolete Selenium IDE or users of popular open source frameworks looking for a handy recorder. The extension is compatible with Chrome and latest Firefox browsers and we will continue the development to support the newer versions.&lt;/p&gt;

&lt;p&gt;You can use the extension to capture web elements and records actions on web applications to generate test case easily. The intuitive interface allows users to edit, debug and play test cases &amp;amp; test suites quickly.&lt;/p&gt;

&lt;p&gt;Selenese scripts generated by Selenium IDE can also be loaded into Katalon Automation Recorder and export to popular languages and formats: C# (NUnit), Java (TestNG and JUnit), Ruby (RSpec), Python (unittest), Groovy (Katalon Studio), and Robot Framework. &lt;a href="http://forum.katalon.com/discussion/4056/quick-guide#latest" rel="noopener noreferrer"&gt;Learn more&lt;/a&gt;!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium and Selenium IDE have been great pieces of technology that critically changed the automation testing history. Although Selenium IDE is no longer active, I believe great developers will keep working on good Selenium IDE alternatives and make software testing much better every day.&lt;/p&gt;

&lt;p&gt;Original article: &lt;a href="https://www.katalon.com/resources-center/blog/selenium-ide-alternative-firefox-chrome/#" rel="noopener noreferrer"&gt;Top 3 Selenium IDE alternatives for Firefox &amp;amp; Chrome&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

</description>
      <category>katalonstuido</category>
      <category>robotframework</category>
      <category>protractor</category>
    </item>
  </channel>
</rss>
