Blog

WebdriverIO and Sauce Labs for Mobile Ecosystem

By: Daniel Guzman – GlobalNow Senior QA Automation Engineer I previously shared my experience of integrating WebdriverIO and Sauce Labs for a new NodeJS web test framework. I’ve now implemented the same framework for the mobile portion of the project, and as promised in my last blog, below is a brief summary of my findings and experience: Why use the same tools? One of the most important considerations when architecting web and mobile solutions is to reuse the same stack of tools as much as possible. Although often web apps/tools don’t easily integrate with mobile solutions, in this case we were successful which resulted in significant time savings. In addition to saving time, I had two other reasons for reusing the code from my web framework. First, I’m often frustrated by projects that do not follow any kind of standard architecture. A standard framework helps programmers from different projects get up to speed quickly for enhancement development and ongoing application support. Second reason is that by using a standard test framework across projects, I am better able to support hybrid test cases: to cover scenarios where I need to perform some action in the mobile app, then check or do some other action on web side, or the other way around. Cucumber and Chai! Using Behavior Driven (BDD) Cucumber and Chai frameworks was a natural fit for Appium and Sauce Labs. BDD is something I learned to appreciate quite some time ago. It’s not only an approach that we developers like, but also Business Analysts and supporting team members. When I started my current project, most of test cases... read more

Using NodeJS with WebdriverIO as a test framework for automation

By: Daniel Guzman – GlobalNow Senior QA Automation Engineer Whether you are a developer or the architect responsible for deciding the stack of tools and languages to build your functional test framework, the following may motivate you to write your UI automated framework in NodeJS with WebdriverIO – by outlining the benefits of using a full stack approach. My introduction from my “0 out of 2” experience! I will never forget that moment, when I realized I knew “0 out of 2”, instead “1 out of 2”. Let me explain it: As a QA Automation Engineer, I was told to develop a testing framework for web and mobile platforms as part of my first project at my new position at GlobalNow IT. I wanted to quickly build the basis of a web system, in order to have it running, and then analyze deeper the best mobile language and tools to use based on current technology. I initially understood that .NET would be the selected framework for this, so after putting together a simple test with Selenium, C# and Visual Studio, and showing it to the team, the project architect gently tells me I am not allowed to develop on C# or Java (which were the two main programming languages for which I am most experienced).  Instead, I was asked to write our test framework in NodeJS. Yes, I was in that spot when had to start using and analyzing new technologies not only for mobile, but now for the web as well. I was a bit discouraged and nervous, since I wasn’t really a JavaScript guru prior to my... read more

Common Sense Tips for Talent Integration

  As a provider of Nearshore IT and QA services, we are often asked by prospects and others a very important question: How do we accomplish knowledge transfer in a fashion that quickly integrates your resources into our operating model? Many times these companies have urgent needs, such as more programming capacity to meet product delivery requirements, a need to increase the speed of product feature delivery to meet market commitments, or the desire to quickly improve overall software quality due to customer service impacts.  The last thing a business needs is to spend money and time on extended team members that do not help solve these issues within the expected time frames. There is no magic bullet that guarantees rapid and maximum return from a new resource. However, from our experience, there are a number of common sense considerations that can be implemented to best meet the needs of the business: Create a simple knowledge transfer plan based on mutual expectations. This is basically a timeline that identifies the important steps for resource “ramp up”. To be included are items such as collaboration procedures, documentation review, work assignment, and joint assessment of the resource performance based on previously established expectations. Assign the “right people” at the “right time”. It’s incumbent upon the service provider to provide talent that meets or exceeds client expectations.   This means providing people that not only have the correct technical skills but also fit culturally into the clients extended teams.  Having mutually candid and detailed discussions regarding the project needs and team behavior can be highly useful to long term success. Create Incremental work... read more

Succeeding with Software Regression Testing – Top 4 Considerations

As a provider of Software Development and QA services, we’re often asked: What is the best way to implement a high performance regression test solution?  We receive this question from clients who’ve asked us to improve their level of quality and also from associates that prefer to implement regression using internal resources.  So, I asked members of our QA team to share their perspective on the most important top four factors when considering a regression solution (these are applicable to both nearshore and internal initiatives).  This is what we came up with:   Education and Knowledge Transfer – this is a requirement that is sometimes underestimated, regardless of whether the regression resources will be internal or external. The advice here: Start Small.  This includes the initial team size and scope of work.  Provide as much training material as feasible, but take an important practical step by allowing a QA engineer to get “into” the application as soon as possible; actually creating plans and scripts.  One note of caution: This hands on involvement will accelerate the learning process but the initial quality and productivity levels generated by the QA specialist may be sub-optimal.   Expect and accept a reasonable number of the initial “mistakes” which may require rework, knowing that the engineer is well on his/her way to being highly productive (assuming she/he is a talented engineer). Automation with the right tools – there are a number of great test automation tools now available on the market. Some are highly flexible open source tools, such as the de-facto standard – Selenium.  With an infusion of complementary creativity, these can be adapted... read more

Costa Rica – A Roadmap for Success?

I was unable to attend this year’s Nearshore Americas Nexus event recently held in San Francisco, but I had a chance to watch a very informative presentation from former President of Costa Rica, Laura Chinchilla, titled “Costa Rica wants to export talent, not people”. You can see it here on the Nearshore Americas site . It is great insight from the former President, regarding Costa Rica specifically and LATAM’s overall economic situation and position as a provider of innovative talent.  Of course, this is of special interest to GlobalNow, since we provide IT development and QA services from our Colombia and Costa Rica affiliates, but I believe President’s Chinchilla speech provides a possible road map on how societies can evolve to a high level of economic success. My key takeaways from President Chinchilla’s presentation include: Costa Rica’s success is not accidental. The government has made important CHOICES that has propelled Costa Rica as thriving democracy and leader in the services industry Strong support for the rule of law, security, public health, foreign direct investment, free trade and renewable energy (100 percent of Costa Rica energy consumed is now from renewable resources) has been critical to Costa Rica’s long time economic success. But, probably the most important choice was Costa Rica’s long time commitment to invest in the education of their citizens.  This includes ensuring free public education across the majority of the population, but also mechanisms for higher education such as scholarships for Master’s and PHDs in high tech Due to the above, Costa Rica has transformed from an economy dominated by the agriculture industry to a service/high tech... read more

Using Geb/Groovy as Open Source Alternative to Stand-alone Selenium for Test Automation

Configuration of Geb automation environment using Spock, Groovy and IntelliJ for Dummies By Alex Chaves – GlobalNow IT QA Manager Introduction: Selenium by far is one of most widely used tools to automate regression testing and other functional testing requirements; due to its perceived cost (it is open source) and inherent flexibility. To deploy an effective Selenium automation project, an intermediate or higher level of programming skill for a language such as JAVA is required to build and maintain the project over time. Geb (http://www.gebish.org/) is a browser automation solution that works as an additional layer with the selenium web drivers in order to provide a more user friendly solution than stand-alone Selenium. This is very handy for QA engineers that may not have advanced programming skills.  For instance, Java is often used to create Selenium scripts, and even though Java is very powerful, it requires a good working knowledge of the Java language to develop and maintain Selenium in this fashion.  GEB can avoid the use of JAVA, allowing you to use Groovy – a simpler scripting language. By using Geb/Groovy, and avoiding a language such as JAVA, the cost of maintaining the automation solution should decrease, plus responsiveness and delivery velocity may also increase due to the simplicity of Groovy. Below is a step by step procedure that you should follow in order to enable the Geb automation environment. Although there are some references on the internet where you can find explanations of various components of the configuration, I was unable to find a site that clearly explained all the required steps that will enable your GEB... read more

Remote Work Teams – Tools of the Trade

I’ve seen an uptick on articles promoting the benefits of remote work over the last week, including this good one from http://bit.ly/1LsnKYO Mike Elgan / CIO Insights. The acceptance and use of remote workers is becoming more common throughout many industries, especially IT.   Meanwhile, IT Trends such as Agile and DevOps makes the need for successful collaboration even more important. These methods require even MORE effective teamwork, not less.  Since our company is in the business of providing both U.S. and Nearshore IT resources, we are accustomed to seeing the requirements, tools and impacts from remote team collaboration. I previously blogged on the importance of culture/attitude (seen here), and how the desire from the evolving global workforce is a very important consideration.  But it would be very difficult to successfully collaborate without the emergence of some of the great tools that we now commonly use and I was recently thinking about how they specifically help with our productivity. So, I asked members of our DEV/QA team what tools they use and like, and I thought it would be interesting to share some of their personal preference and insight: Julian, Senior Dev Lead likes Jira because of its ability to document and organize user stories into team sprints and coordinate break/fix tickets within the sprints. It is also easy to then assign work and manage the remaining effort. Alex, our QA manager likes Trello for small development projects/teams because it is simple and cost friendly. For larger, more complex environments he prefers Confluence for its integrated management of multiple areas of software process from requirements to testing – and especially... read more

QA Automation – Requires not only tools but Innovation as well – Selenium example

From my experience, successful software QA automation requires not just tool expertise but also team innovation and creativity. For one of our recent engagements, our QA engineers established an automated smoke test using Selenium. The smoke test was incorporated into the continuous integration environment and applied following system builds to ensure the latest software changes did not break any of the main system functionalities.   The use of Selenium as the base tool required the creation of a custom framework to launch the automations and enable the use of a dataset to support the testing “paths” dynamically rather than hardcoding each of the data locations within the automations themselves. Engineering a testing path/location repository solution as part of this framework provided the ability to manage a single automation with a variety of data conditions and locations. There are 3 main benefits of this approach: Maintenance – The number of automations to create and maintain are reduced significantly. Therefore as the application changes, and the testing automation needs to be updated, there is less automation code to maintain, which reduces ongoing costs. Velocity – New data paths can be added quickly and painlessly without the need to open up the automation code/logic itself. Quality – spending less time on keeping existing testing conditions working means more time can be spent on assuring new code works as expected. By solving the problem in such a way that focuses on the data conditions rather than the automation, the ROI on automation testing is improved tremendously. The agility to make adjustments maintains the velocity of the software development process and more time can... read more

Automation – Impacting LATAM Solution Providers and the Broader Workforce

I recently shared a Nearshore Americas article which touched on Costa Rica’s advanced “readiness” to deal with the onslaught of workforce automation. According to the article, “Automation, sometimes referred to as ‘no-shoring,’ is still in its infancy, but when combined with business process as a service (BPaaS), has all the potential to be a powerful force for disruptive change.” The same article also spoke to the progress Colombia has made on the AT Kearney Global Services Location Index (a measure of countries by business environment and availability of skilled talent), jumping 23 spots to be ranked 20th, making the largest advance of any country in the Index, with significant impact from its growing technology workforce. It forecasts that Colombia is among the brightest hotspots amid a global services environment where the threat of machines taking jobs from humans seems to be at an all-time high. This got me thinking about the bigger picture of automation readiness for the global workforce. How should societies specifically deal with this ongoing, disruptive and imminent shift of human labor to automation? In the U.S. and elsewhere, we initially saw this in manufacturing and we are now seeing more of it in the services arena. Plus, ironically, automation itself often requires a new type of skill to manage and administer. We see this in our own QA automation practice, where QA engineers now need more technical IT background, and even stronger interpersonal skills to allow them to effectively collaborate across functions and geographic borders. So what is the secret for preparing a workforce to handle the automation push? How can it be embraced in a fashion that... read more

“The Culture of the New Workforce” William Gordon’s presentation at our DevOps session

We were fortunate to have William Gordon, Regional CIO of NetApp speak at our DevOps community session last week here in Dallas. I’ve seen William speak several times previously, and as always, William’s presentation was engaging and informative, and his topic “The Culture of the New Workforce” was very relevant to the DevOps movement. William provided great insight regarding the current job demands faced by CIOs and how it relates to the expectations from the millennial workforce. I tried to capture some of his key thoughts – highlighted below: The job tenure of CIOs appears to be shorter than ever, with significant pressure to meet multiple objectives – some that often appear to be conflicting. For many CIOs, data and system security is the overriding concern, as we can all understand and appreciate. But, the CEOs are demanding (and applying strong pressure) that CIOs enable rapid product delivery to meet market demands. In general, the millennial workforce is often more comfortable and capable with “balancing” security requirements for agility (at least that’s the perception of many CEOs). This reality/perception can sometimes be a disadvantage to more senior CIOs, as they can be viewed as out of touch with the skills and methods necessary for rapid delivery.     So how is the above relevant to DevOps?   As William pointed out, there are at least two tangible tie-ins: DevOps inherently can improve speed and accuracy of delivery, meeting the needs of millennials and the business If implemented properly, DevOps can help save the job of CIOs that are under fire for rapid delivery Most of us understand that DevOps, without the... read more

Sign Up to Receive Ongoing Tips on QA and Nearshore Development


Share This Page
Share on FacebookTweet about this on TwitterPin on PinterestShare on LinkedInShare on Google+Email this to someone