Category: Test Automation


Test Automation and QA automation

blog 7
Posted on / by root / in Test Automation

Creative Agencies cannot estimate Software Development Costs Accurately

If digital is truly at the heart of modern marketing, then the software is the bedrock of every digital project. That being the case, there’s a strong argument to suggest that many creative agencies need to wake up to the fact that they are now a software house in disguise and adjust their internal processes accordingly to service their clients better.


Creative Design - Software DevelopmentCreative Design Vs. Software Development

Delivering software is a very different process than creative concepts development. Many agencies have been established for many decades and, as such, have years of experience of delivering their creative-led services to their customers and managing their client relationships successfully.

By comparison, the software industry itself is still relatively young and many of the methodologies and process that have built up around delivering software to a brief, e.g., agile development, are even younger. There are a variety of approaches to building software to a brief, and all of them are valid depending on the project and the situation.


codingCoders should do more than coding:

One of the main complaints that agencies have traditionally had about employing software developers in-house is that they are only good for coding. However, a recent study of thousands of projects within the software industry revealed that, in fact, a maximum of 30 percent of a typical software developer’s time is dedicated to coding, with the remaining effort expending on tasks such as requirements, prototyping, documentation, unit testing and technical management.

The lesson for creative agencies is clear: if you want to provide your clients with clearer, more accurate estimates about digital projects, let your techies out of the box marked ‘coders’ and involve them more closely in the process assessing the requirements of software projects and managing client expectations.


Conclusion:

As the software development trends move towards rapid development concept, creative agencies need to learn quickly on software development trends. They must understand that the cost evaluation for creative design is a different ball game compared to the software development estimation. Marketing agencies should hire in-house experts or engage with the external development firms to estimate the development costs accurately

blog 6
Posted on / by root / in Test Automation

Top 5 Continuous Integration Tools for Agile/ DevOps Environment

As products and platforms become the key to creating a competitive advantage across all markets, Independent Software Vendors no longer enjoy the luxury of selecting either ‘speed’ or ‘quality’. Now that agile practices have matured and DevOps initiatives have entered the mainstream agenda, Continuous Integration (CI), Continuous Testing (CT) and Continuous Delivery (CD) have emerged as key catalysts for delivering quality product quickly. Choosing the right CI tool for your purposes can be a bit bothersome, especially if you want to start using them for the first time. So, Expedux presents to you the list of the top 5 Continuous Integration tools:


Jenkins is an open source CI tool written in Java. Jenkins is very flexible because of the feature extension through plugins. The Jenkins plugin list is very comprehensive, and you can easily add your own. Jenkins provides the x-factor on distributing builds and test loads on multiple machines. It is free to use and distribute.

 


TeamCity is a mature CI server, coming from the labs of JetBrains. JetBrains has established authority in the software development world, and their tools like WebStorm and Resharper are used by developers worldwide. Despite being Java-based solution, TeamCity offers the best .NET support among the tools on this list. It also has a wide variety of publicly available plugins, developed both by JetBrains and third parties.

 


Travis is an open source service free for all open source projects hosted on the GitHub. Since it is hosted, it does not depend on any platform. It supports a variety of different languages and uses the virtual machines to build applications.

 

 


Atlassian is the company focused on providing tools for software development teams, and you might know them by their tools like JIRA and Bitbucket. Bamboo is Atlassian’s CI tool that comes in two separate versions. The cloud and the server. Both versions come with the free trials and the pricing plans are based on the build agent count rather than the users. Being the Atlassian tool, it has native support for JIRA and BitBucket, and you can even import your Jenkins configurations into Bamboo easily.

 


GitLab CI is an integral part of the open source Rails project GitLab, which was brought to light by the company GitLab inc. GitLab is hosted on GitLab.com, a free hosted service, and it provides detailed git repository management with features like access control, issue tracking, code reviews, and much more. GitLab CI is fully integrated with GitLab and it can easily hook projects using the GitLab API. GitLab process builds are written in the Go language and can run on Windows, Linux, OSX, FreeBSD, and Docker.

 


So, what is the perfect Continuous Integration tool for you and your team?

 

Continuous Integration tools improved a lot since they first appeared. With the current trends of migrating solutions to the cloud, many companies started offering hosted solutions, which are user-friendly and easier to digest than traditional tools. Travis CI is the pioneer in this field of cloud Continuous Integration tools and is leading the way in popularity still. Being well established in the community, open source and very flexible, Jenkins is still a great way to start Continuous Integration journey because there is rarely something you cannot do with it. Many people use it with a great success, and it meets their needs. Once you figure out what the possibilities of the Continuous Integration tools are and how to optimize your processes, even more, you can try some of the other tools.

blog 3
Posted on / by root / in Test Automation

Test Automation doesn’t remove the need for Manual Testing

A lot of manual tests have been automated, and some say that the manual testing and the other testing modes are no longer valid. But experts believe that automated testing can make QA/traditional testing methodologies even more important.  QA is still essential, as is human intervention in some cases, to ensure a quality product is deployed.  QA engineers need to be involved in the build pipeline and consult on quality across the entire project lifecycle.

Reason 1: Testing is as only as good as the test

Automation does make some aspects of QA easier, but if the test itself isn’t up to snuff, it won’t provide the desired result. Fully automated QA may result in perfectly accurate yet completely unusable software that doesn’t meet any business needs. Any automation in DevOps needs to be validated for usability to meet the needs of humans.

Reason 2: QA may become more important

Because of automation, more QA work will move to the front end of the software development lifecycle, and CI tools will be made more important for testing. As confidence in CI and automation increases, there is a very likely scenario of organizations using Continuous Delivery for parts of their applications, although it still is not something that is completely reliable. However, the QA role may become more important in technical communities as automation takes over manual test cycles.

QA automated tests can prove whether known paths still work or identify new features or code that might have introduced issues.  However, it still takes human creativity and ingenuity to explore those paths, and then write automated tests against expected outputs. Companies must continue to employee QA teams, and they need to invest in training and software licenses for the automation platforms, but the benefit is still there.

Conclusion

Ultimately, automation isn’t a bad thing – it saves time and helps focus efforts on more human-intensive processes while removing the low-hanging fruit. It makes QA testing easier for routine tests. But it does need to be taken with a grain of salt to ensure that accurate, useless software isn’t being deployed.

blog 2
Posted on / by root / in Test Automation

Top 4 DevOps trends to watch out for in 2017

One of the most powerful, overarching trends we saw in the recent year is the growing adoption and maturity of DevOps practices. As software development organizations continue to implement or modernize their DevOps practices, it’s important not to get left behind. IT operations management and development groups need to understand where technologies are headed so that they are ready to adapt when the time comes.

To help you understand the challenges and opportunities in DevOps, Expedux spoke to DevOps experts from various types of organizations such as product organizations, digital marketing agencies and e-commerce firms. Here’s what they had to say.

 

A clear definition of DevOps will emerge

IT companies have been struggling with DevOps transformations for years. But 2017 will be the year that DevOps is finally at the stable mode.  Many organizations will challenge agile and recognize DevOps as the new ALM methodology that is a generation beyond agile, rather than a superset.

 

Microservices and containers will be driving application delivery

With many organizations making a change towards DevOps, microservices have become a uniquely aligned architecture to help achieve success. This is because microservices enable organizations to architect their solutions around a set of decoupled services — that can each be developed and released independently. Each service focuses on doing just one thing well and enabling more rapid time to market, with less interdependencies to reduce risk. Going together with microservices, containers serve as an ideal deployment vehicle. That’s because containers are designed to run one isolated process, with minimal deployment and runtime overhead.

 

Big data and DevOps are coming together

One massive thing DevOps tools have accomplished is automation. In these pipelines, organizations are suddenly creating a ton of data. When they start applying machine learning to this, organizations can really start to hone in on some interesting data where they can predict failures and identify areas for optimization.

 

Consolidation becomes critical

As DevOps matures, large, complex organizations will focus on finding ways to consolidate and standardize their DevOps processes, tooling and implementation. Rather than investing in each team’s software delivery as a “snowflake” set-up, they invest in converging all teams and applications around shared configurations, environments, tooling, processes, security test, etc. This consolidation allows for reusability, improved visibility, security, auditability, and resource utilization – while still being flexible enough to support specific teams’ needs.

Mobile sub banner
Posted on / by root / in Test Automation

Mobile QA Automation Tools – Robotium, Appium and Calabash – Comparative Study

There are a lot of tools available for mobile application automated testing. In this blog post, we will try to compare among three of them – Robotium, Calabash, and Appium.  Let’s look at them individually and find out what are their capabilities concerning a set of parameters.

Robotium

Robotium supports both native and hybrid app through its Android test automation framework. It provides the test case developers an easier way to write functional, system and acceptance test scenarios, with minimal knowledge of the application under test in minimum time. The framework can handle multiple Android activities automatically and can integrate smoothly with Maven or Ant for continuous integration.  The test case execution is fast and more robust.

Advantages:

  • You can develop robust test cases, with minimal knowledge of the application under test.
  • The framework handles multiple Android activities automatically.
  • Minimal time needed to write solid test cases.
  • Readability of test cases is significantly improved, compared to standard instrumentation tests.
  • Blazing fast test case execution

Limitations

  • No support for flash & web applications
  • Test execution on one device at a time
  • No support for cross-platform testing

Appium

Appium provides an API based on Selenium’s WebDriver JSON wire protocol and supports platforms like Android, iOS, and FirefoxOS. Since the standard automation APIs work on all the platforms, there is no need to recompile the app. Also, we can use any WebDriver compatible language like PHP, Java, Ruby, Python, C#, etc. to write the tests.  It provides a true cross-platform mobile automation.

Advantages:

  • Appium is Open Source(Free)
  • Appium Supports many languages (Ruby, Python, Java, JavaScript, PHP, C#)
  • Appium supports automation of hybrid, native and mobile web applications.
  • Appium is Cross Platform.
  • Appium supports multiple platforms:
    • iOS
    • Android
    • Windows

Limitations:

  • Appium directly supports android version 17 and later, but is not compatible with Android versions older than 17.
  • Users cannot locate images with Appium. They had to work with screen coordinates.

Calabash

Calabash is a free open source project which can help you run tests on iOS, Android, and Simulator. It consists of two libraries – Calabash android and Calabash iOS, which helps in writing tests in domain specific languages. They enable test code to interact with the apps, wherein each of these interactions consists of some end-user actions like gestures, assertions or screenshots. You can even check the HTML 5 part of the application using the cucumber interface.

Advantages:

  • Calabash is available for Android and iOS platforms.
  • Calabash uses Gherkin Syntax (Cucumber style)
  • It is updated quite frequently.
  • It supports testing on the real devices.

Limitations:

  • Non-availability of an IDE or an Editor.
  • It supports only Ruby language.
  • You don’t get much online support.

Tool comparison:

Capture

How to pick the best Automation Tool

  • Identify the tests that need to be automated
  • Research and analyze the automation products that meet your automation needs
  • Do a pilot for two best tools as per your requirements and budget.
  • Based on the requirements, select the most suitable one or more tools
  • Discuss the chosen automation tools with other stakeholders, explain the choice, and get their approval
  • Proceed to test automation
blog page new
Posted on / by root / in Test Automation

Seven Fundamentals of a Highly Successful Test Automation Team

In the current fast-growing business world, test automation has turned out to be an important activity in software testing. It can speed up the process and cut down on the investment in testing. Test automation can enhance the development process of any software product. Here are the seven fundamentals required for a successful test automation team:

Fundamental 1: Hire Engineers Who Are Committed to Automation

Have a team that is devoted to test automation. Don’t let manual testers engage in your team. If a manual tester wants to upgrade to automation testing, you can take him, provided, he frees himself from manual testing because test automation is a full time job and there has to committed resources.

Fundamental 2: Select the Right Automation Tool

The tool is right if the resources can recognize it and the application is also developed using the same tool. You must get a hang of the tool with minimal efforts because language learning is a time-consuming phenomenon. Also, bugs are seen often in automation tools, which get stuck oftentimes abruptly. A skilled automation test engineer can come up with workarounds that help resume the process.

Fundamental 3: Know the Product Being Tested

Testers must have an in-depth understanding of the application they are testing. If it is a web-based application, the testers have to be acquainted with the browsers that the application supports while in case of desktop application, know the languages it is dependent on and the third-party controls embedded in it. This knowledge will aid in selecting the tool, make future automation, easier and hone the test-case writing skills.

Fundamental 4: Effective Test Cases Equals Effective Automation

Test cases are easy to automate, but it’s hard to recognize faults in them. Fault recognition becomes easy with well-scripted test cases. An automation having no good test design will only involve too many activities, but will not carry good value.

Fundamental 5: Begin with Unit Test

Unit testing is the first of the three levels of testing, the other two being Integration testing and System testing. It’s the most important level in the SDLC. Once a unit code is written, it’s tested w. r. t different scenarios. As the product is developed, it is economical to identify and remove the bugs in the early stages. Mostly, the developer does unit testing.

Fundamental 6: Essential fields to be included in a test case

A test case should be easy to understand and the steps should be performed quickly. It should not be dependent on another test case. Test cases can be written in an excel sheet. You can continue with it or use any of the test case management tools (Open source or free) such as Quality center, Test director, and Testlink. These tools have the import feature that helps import the test cases written in excel sheet. A test case has fields such as Module to be tested, assumptions, test data, test steps, expected result, end result, and comments.

Fundamental 7: Automation Means Software Development

When you develop software, you need to adopt some best practices. The codes are to be assessed to write quality code. A concrete design pattern has to be followed with constant maintenance. All the fundamentals that are followed in software development are to be repeated in automation as well.

 

Why Expedux?

Expedux Technologies is a technology solutions and framework driven software development firm serving as a trusted technology partner for our customers. We work with some of the world’s most innovative start-ups, independent software vendors, e-commerce vendors and digital marketing platform and services organizations by helping them achieve one goal – Faster Time to Market.  Expedux’s innovative 60 DAYS RAPID DEVELOPMENT FRAMEWORK & TEST AUTOMATION IN 15 MINUTES FRAMEWORK help organizations across all stages of software development lifecycle right from new product and platform conceptualization, development and testing and enable them to go to market faster and better.