Select Page

Category Selected: Automation Testing

163 results Found


People also read

Mobile App Testing

Appium Debugging: Common Techniques for Failed Tests

Artificial Intelligence

AI vs ML vs DL: A Comprehensive Comparison

Artificial Intelligence

ANN vs CNN vs RNN: Understanding the Difference

Talk to our Experts

Amazing clients who
trust us


poloatto
ABB
polaris
ooredo
stryker
mobility
Guide to Getting Started with Automated Testing

Guide to Getting Started with Automated Testing

Even though automated testing and test automation companies are high in demand, there are companies that are still apprehensive since getting into this mode seems like a lot of trouble. The fact however, is that automated testing through a top rated Software Testing Company, will help to shorten and simplify the development cycles, eliminate repetitive tasks, and significantly improve the quality of the software in use in your company.

Not just companies, but individuals seeking to pursue a career in automation testing services, can benefit from this exposition. We recommend starting small – smaller test cases would be simpler and easier to work with, debug and maintain.

Getting Started with Automated Testing

Test automation companies can help you identify and prioritize the tests that would be most beneficial to automate, and also browsers and devices that would be critical to the particular test automation project. A chaotic and poorly planned QA process would be detrimental to the system as a whole, and hence it is advisable to use a qualified automation testing company from the start. They would help you answer critical questions such as what needs automation, when automation is required, which tools to use, who would and how would the execution of these tests happen, and other such questions.

Here is a simple guide to not just get started with automated testing, but to ensure that software testing is successful and your business gets the highest ROI.

Start at the beginning – ascertain the test cases to automate As mentioned above, starting small and with the most critical test cases, makes for a sound automated testing decision. The best ones would be those that run frequently, and need substantial amounts of data to repeat the same action. Tests that are likely to cause human error, recurring tests used for multiple builds, tests that cannot be performed manually, those tests that are time and effort intensive when performed manually, tests that run on a variety of platforms, configurations, and hardware – some of the ‘ideal’ tests to run first. Meticulous planning and design are critical to the success of automated testing. These two steps will not only help to identify which tests need to be automated first, but will also serve as a model for future tests.

Test regularly and Early On As a business, it would be advisable to get in the experts at the start of project life cycle, and they should run the testing as many times as required. This will ensure that any bugs / errors will be detected early on, leading to a flawless and superlative software.

Assessment and Selection of the Appropriate Testing Tool With a variety of testing tools available, choosing the right one can prove cumbersome. However, an expert automation testing company will not only have a team with flexible skill levels, they would also ask you the right questions.

Some of the questions they would ask would be the kind of support needed for the platforms and existing technology, what operating systems are in use, and other such relevant questions. The best testing tools would support record and playback test creations, and would be able to create automated tests that would resist changes in the UI of applications, would be easily maintained and reused.

Getting Started with Automated Testing

Creation of Good and High Quality Test Data The best test automation companies would use testing tools that capture and ‘understand’ the content in data files and can successfully reiterate the content in the automated test. The data driven testing allows the addition of testing scenarios, adding new data without editing the real automated test. Creating good quality test data makes writing automated tests a lot simpler.

Conclusion Automated testing does not need to be an expensive, and time consuming effort. We at Codoid follow and continually improve on the best practices mentioned, ensuring that we successfully implement test automation each time. Connect with us to understand how we can help to accelerate the growth of your business within a fixed budget and timeframe.

Katalon Studio Review

Katalon Studio Review

The prospect of reviewing a new test automation tool is always an exciting one for any software testing company. Choosing the right tool for product testing for anyone in the software testing community becomes easier with the help of unbiased Test Automation Tool reviews by experienced test automation experts. In this blog, we look at each feature of Katalon Studio in detail.

The Installation Process

Click the link below and complete the Signup procedure to download Katalon Studio.

https://www.katalon.com

Installation is not needed. All you have to do is unzip the downloaded file in your desired location.

The Types of Applications that can be tested using Katalon

Web, Mobile apps & Web Service can be automated.

A Recommendation to the Katalon Team: Desktop App Automation Testing will increase the functionality of the tool.

Pricing for the Tool itself and Technical Support

While the tool itself costs nothing, the price for technical assistance is 249 USD per month

Type No. of accounts Pricing
Business Support 1 2500 USD per year
Enterprise Support 3 5000 USD per year

Custom Keyword Development

This is one of the most noteworthy features of the Katalon testing tool. The keyword can be created using Groovy scripting and can also be called at any point in the test flow.

There also exist a sufficient amount of additional built-in keywords.

Object Identification

? Nested Identification

All available locators can be used in Selenium. As shown below, any WebElement in Selenium can be identified using multiple levels of nested identification.

driver.findElement(By.name("btn2"));
elemnt.findElement(By.name("codoid")).findElement(By.name("Test Company"));  

Katalon, however, only permits the use of 1 level of nested identification.

? Switching Frames and Browser Windows

? In order to switch frames, one has to first define a frame in Test Object with the Object Identification Details and then call the Switch to Frame keyword.

? Windows can be switched using Index, URL & Title.

Manual View & Script View

Manual View facilitates easy script development. The required keyword and test object for a test step can be selected in Manual View.

Katalon Studio Review By Codoid-Software Testing Company

You can view all the steps which are added in Manual View in Script View as well. This feature gives more flexibility to troubleshoot your scripts. And you can modify the scripts from Script View and the changes can be seen in Manual View.

One also has the capability of viewing all the steps that were added in Manual View, in Script View. This feature allows for more flexibility when it comes to troubleshooting scripts. There is also the provision for modifying scripts from Script View and observing the changes in Manual View.

Katalon Studio Review By Codoid Testing Company

A Recommendation to the Katalon Team: It would be better if the script view editor could highlight scripting errors instead of just underlining them.

Jira Integration

A Jira bug ticket can be created while troubleshooting failures from Katalon Test Reports.

Katalon Studio Review

Looping

Looping is an indispensable feature of any test automation framework. Katalon allows for the usage of For & While loops

The restriction of nested looping is a daunting task for any automation test. Katalon Studio is awarded a 5-star rating for enabling nested looping.

Katalon Studio Review

Conditional Statement
Similar to looping, Katalon also allows nested conditional statements. There is, however a disadvantage to using conditional statements in Katalon. In order to decide True & False statements, the outcome of a keyword call in a variable and input in the Conditional Statement need to be saved. This can prove to be a burdensome procedure.

A Recommendation to the Katalon Team: The enabling of keyword calls in Conditional Statements, in order to decide between the execution of True and False Statements would be a useful feature to have.

Hard and Soft Step

Assuming a mandatory test step has failed and you would like to halt the test execution, the failure handling in Katalon can be configured as shown below.

Test Automation Failure Handling

Object Spying

Katalon allows for the spying on of Web and Mobile Objects. The provision for Object Spying in a freeware test automation tool is a definite bonus for automation testers.

Katalon Studio supports spying AUT on IE, Chrome & Firefox browsers.

Hooking

The following hooks which are executed before or after test case & test suite are supported by Katalon. Test case status, ID & variables can also be obtained inside these hooks.

  • Before & After Test Case
  • Before & After Test Suite
  • A Recommendation to the Katalon Team: The provision for Tag based hook calling would be beneficial.

    Git Integration

    The SCM feature is essential for automated script development as it permits the tracking of code changes while facilitating effective work coordination.

    The feature for Git Integration in Katalon Studio can be enabled from Preferences.

    Execution Video Recording

    Recorded test execution is a great reference material. Katalon has a video recorder which can be enabled for Passed or Failed test cases or both.

    The feature of recording test execution works great as reference material. The video recorder feature on Katalon can be enabled for either Passed or Failed test cases or even both.

    Test Automation Execution Recording

    Email Notification

    There exists on Katalon, a Template for receiving Email notifications. The content can be customized in accordance with changing requirements.

    Katalon Studio Email Notification (more…)

    How to rerun Cucumber failed scenarios?

    How to rerun Cucumber failed scenarios?

    Rerunning Cucumber failed scenarios is a great value add for your automation test suites. Sometimes, your scripts may fail because of network latency and test bed slowness. Rerunning scripts will reduce the number of failures.

    However, you need to monitor the scripts which are always failing in the first attempt. In this blog article, we will walk you through how to rerun jvm-Cucumber failed scenarios.

    Step #1

    Configure where you want to store failed scenario details in Runner class

    package sample.cukes;
    import cucumber.api.CucumberOptions;
    import cucumber.api.testng.AbstractTestNGCucumberTests;
    
    @CucumberOptions(
            features = "src/test/resources/features/Sample.feature", monochrome = true, 
            plugin = {
            "pretty", "html:target/cucumber-report/single",
            "json:target/cucumber-report/single/cucumber.json",
            "rerun:rerun/failed_scenarios.txt"},
            glue = {"common","sample"}
            )
    
    public class SampleCukesTest extends AbstractTestNGCucumberTests {}
      

    Note: Use rerun variable in CucumberOptions to store the failed scenarios.

    Step #2

    Create a new Runner class to run the failed scenarios.

    package sample.cukes;
    import cucumber.api.CucumberOptions;
    import cucumber.api.testng.AbstractTestNGCucumberTests;
    
    @CucumberOptions(
            features = {"@rerun/failed_scenarios.txt"}, 
            monochrome = true, 
            plugin = {
            "pretty", "html:target/cucumber-report/single",
            "json:target/cucumber-report/single/rerun_cucumber.json"},
            glue = {"common","sample"}
            )
    
    public class FailureRerun extends AbstractTestNGCucumberTests {}
      

    Note: In the ‘features’ variable, you need mention the failed_scenarios.txt file and don’t forget that you must mention ‘@’ symbol before the file path.

    If you are running your automated test scripts from Jenkins, you can create and configure a downstream job to run the failed scenarios.

    QA Manager’s Guide to Managing Automation Testing Project

    QA Manager’s Guide to Managing Automation Testing Project

    Everyone knows benefits of automation testing. However, starting & managing test automation is a grey area for many. As we (Codoid) are expertise in automation testing, we would like to share our thoughts and guidance to QA Managers & Directors who want to bring test automation in place to test their applications.

    How to start automation testing?

    If you are new to automation testing then think about Domino Toppling. You need to practice with small Straight Line formation and turns before setting up a large number of dominoes to topple.

    Automation Testing

    Same way, Before automating a large regression test suite, do a POC and pilot project to gain confidence.

    Right Team

    Automation Testing Process

    Test automation script is a code. It needs to be created and maintained by people who has already mastered automation testing. If you have a right team with appropriate test automation skill-set, then they need your (QA Manager & Director) support to plan and kick-start automation script development.

    You will not fail in test automation if you are starting with mix of both Non-programming testers and Automation Testers. Hand pick testers who need automation tool training before starting the project.

    Framework Development

    We mitigated several failed automation testing projects. Most of the failures are due to poor setup of framework and lack of technical skills. For QA manager who is new to automation testing, it is a challenge to ensure whether the test automation framework is setup well or not.

    Test automation framework is also an application and it is going to test another application’s functionalities. So testing your framework before script development and ensuring the required framework features are implemented correctly are the important steps to succeed in automation testing.

    Important points to be considered while setting a test automation framework.

    • 1. Implement the Page Object Pattern – It is to represent each page in your application as an object
    • 2. Use Cucumber or Any BDD framework to enable DSL
    • 3. Framework Configuration – This is the section where you can have URL for all the environments, Object Wait Time, and other common configuration data
    • 4. Setup Multi-browser compatibility
    • 5. Framework Logs
    • 6. Reading Data from Excel, Yml, Json, and XML files
    • 7. Compatibility with Mobile device platforms
    • 8. Setup and Teardown Methods
    • 9. Reporting with screenshots
    • 10. Email Notification
    • 11. Design Patterns, Clean Code methods, coding conventions

    Coding Guidelines

    If everyone in the team delivers automated test scripts with different design patterns, then those scripts will trouble you during maintenance.

    Following automation design patterns and best practices ensure that when something changes in the system under test, only one test component needs to be updated. A simple documentation with dos and don’ts and Script Reuse Guidelines will help a lot.

    Script Review

    Maintain your automation code as same as your application code. Never merge your newly automated test scripts into master code without a review.

    QA Manager’s participation in initial review meetings helps to understand how the functionalities are getting automated and DSL enables effective collaboration among testers and other stakeholders.

    Make Your Test Automation Efforts Visible

    Automation testing provides quick feedback and avoids error prone testing. How to measure the success of test automation?

    Metrics collection from the beginning will help to measure the success.

    Automation Testing Process

    The following measures are sufficient during initial phase – No. of defects identified by automation, How many times your automated regression test suites have been executed, and No. of test cases automated & pending

    Make your test automation efforts visible to top management on bi-weekly or monthly basis to get consistent support.

    Getting Started With Cypress

    Getting Started With Cypress

    Cypress is a JavaScript based end-to-end testing framework that doesn’t use Selenium unlike other framework(Protractor, Jasmine, Webdriverjs) does. Cypress is built on top of Mocha, which is again a feature-rich JavaScript test framework, making asynchronous testing simple and fun. Cypress also uses a BDD/TDD assertion library. As Cypress has many handy advantages, I want to highlight only those that I found fascinating:

    • Automatic waiting – Using Cypress, you do not need to specify explicitly to wait for the DOM to load, elements to become visible, the animation to be completed, the XHR and AJAX calls to be finished, and much more.
    • Real-Time Reloads – Cypress triggers automatic running of your script when you save the script file you are working with (xyz_spec.js file). Usually other frameworks needs manual triggering to run the script.
    • Debug ability – Cypress gives you the ability to directly debug your app under test from chrome Dev-tools, It suggests you how to approach an issue while it pops out an error message.
    • Free and Open Source.
    • Fast, It takes a max of 20 ms response time.

    Installation of Cypress

    There are two ways to use this tool in your PC.

    • – Desktop Application
    • – Using NPM installer

    Desktop Application

    Download the zip file for Desktop by hitting the download button, extract the files and install in your machine.

    OS Support:

    • Mac OS 10.9+ (Mavericks+), only 64bit binaries are provided for macOS.
    • Windows 7+, only 32bit binaries are provided for Windows.
    • Linux Ubuntu 12.04+, Fedora 21, Debian 8.

    Desktop Application will be look like,

    Getting Started Cypress


    You can create a new separate cypress project and you can also add a cypress project to an existing projects, to achieve this follow the below steps.

    • 1. User can drag and drop your project or empty folder.
    • 2. Cypress will create an example project inside the folder, which contains
      a. A Cypress folder(has lot of example “.js” (like spec.js files))
      b. Cypress.json file

    After creating a new cypress project, it looks like the below,

    Getting Started with Cypress


    Cypress is purely a chrome dependent framework (chrome, chromium and canary). If you open anyone of the spec.js file, that spec will start executing the automation script in a Google chrome browser. Also, you can run all the test files together by clicking the button (Run all tests). Cypress has a beautiful display that splits test execution on right and individual steps of execution on left side. Refer the below screenshot,

    Test Automation Tools


    All executable files should be in the Integration folder, the spec.js files are available in the integration folder. If you need to automate an application, create a spec.js file in the integration folder and start developing the script.

    Latest Automation Tools

    Using NPM Installer

    Note: Cypress requires nodejs version greater than 4.0.0

    Open your project or a new folder in the command prompt and initialize the npm to create a package.json file, use the below code to initialize it.

    npm init --yes
      

    Now package.json file will be created in that folder. Run the below command to install the cypress tool,

    npm install --save-dev cypress
      


    QA Company

    A folder node_modules will be created and lot of dependencies will be downloaded in that folder. Open the cypress tool by using the below commands,

    The long way with the full path

    class SuperClass():
        pass
    
    $./node_modules/.bin/cypress open
    

    Or with the shortcut using npm bin

    class SuperClass():
        pass
    
    $(npm bin)/cypress open
    

    Or by using npx
    Note: npx is included with npm > v5.2 or can be installed separately.

    class SuperClass():
        pass
    
    $npx cypress open
    

    After a moment, the Cypress Test Runner will launch.

    Software Testing Company

    Examples:
    Open the project path in your editor(VS Code, Atom, etc), it should contains the ‘cypress’ folder and ‘cypress.json’ files. In the ‘cypress/integration’ folder it will have the example folder, that folder contains lot of examples ‘spec.js’ file.

    Testing Companies


    The ‘spec.js’ file will contain the examples of automation scripts.



    Top QA Companies

    Frequently Asked Questions

    • Is Cypress easier than Selenium?

      Yes, Cypress is easier than Selenium as it's simple to learn and faster to use. Though Selenium supports multiple languages, its complexity makes it difficult for developers and testers to adapt quickly.

    • Can I use Cucumber with Cypress?

      Yes, you can use Cucumber with Cypress. It integrates with Cucumber to allow you to write test scenarios in BDD format and also uses all the capabilities of Cucumber by using the Cucumber-preprocessor node module.

    • Does Cypress support Mobile Automation?

      Cypress will never be able to run on a native mobile app, but we can test some mobile web browser functionality and mobile applications developed in a browser, such as with the Ionic framework. Currently, the cypress can be used to control the viewport.

    • How to install Cypress?

      Cypress can be downloaded in two ways.
      1. Direct Download
      2. npm (Node Package Manager)

      Steps for installation
      1. npm-i init, this will create a package.json file
      2. npm install cypress —save-dev will fetch the most recent version of cypress available for download.
      3. node_modules/.bin/cypress open, we can run the cypress runner with this command.

    • What is Cypress Automation?

      Cypress Automation is the process of using JavaScript to automate the web application testing process. It is designed to make testing web applications easier and faster by providing a clean and intuitive API, a robust set of assertions, and an easy-to-use debugging interface.

    Automated Regression Testing In Agile Environment

    Automated Regression Testing In Agile Environment

    Automated Regression Testing

    Automated Regression Testing

    Can an agile team succeed with no test automation? Maybe, but the successful teams that we know rely on automated regression tests. If you are spending all your time doing manual regression testing, you will never have time for the important exploratory testing that will ferret out the damaging behaviors lurking in the code.

    Agile development uses tests to guide development. In order to write code to make a test pass, you need a quick and easy way to run the test. Without the short feedback cycle and safety net regression that suites provide, your team will soon become mired in technical debt, with a growing defect queue and ever-slowing velocity.

    Test Automation is a team effort

    Test Automation is a team effort. It’s also hard, at least at first. There’s often a big “hump of pain” to overcome. If you manage a development or testing team, make sure you are providing support in the form of time, training, and motivation. If you are a tester on a team with no automation, and the programmers are too frantic trying to write production code to stop and think about testing, you have a big challenge ahead of you.

    Experiment with different ways of getting support from management and from team members to start some tiny automation effort.

    Source – A Practical Guide for Testers and Agile Teams