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...

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...

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...

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...

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...
Share This Page
Share on FacebookTweet about this on TwitterPin on PinterestShare on LinkedInShare on Google+Email this to someone