Leave a comment

Locating DOM Elements for Functional E2E Tests Using Custom Attributes

Larry Van Sickleby Larry Van Sickle, Senior Software Engineer

Protractor and Selenium are widely used tools for building functional end-to-end (e2e) automated tests. These tests execute a web-based application under test through a browser interface. The automated tests need to examine web page elements to determine whether their contents match expected results. They also need to operate on a webpage’s elements to drive the application. The tests need to click buttons, select from menus, and enter text in fields as part of the automated tests. A key problem and design decision is how the automated tests will locate elements in the DOM.

Continue reading


Leave a comment

Tuning a Windows Server for High Performance Applications

John Cavazosby John Cavazos, Senior Performance Test Engineer

In earlier blogs in this series we talked about configuring and tuning Unix and Linux based servers for high performance systems. Now, I will talk about configuring Windows servers. Windows servers are traditionally not used as servers anymore, but there are some applications where Windows is still the only option. Unix, and primarily Linux, have become the go-to platforms for servers due to their security, relatively low setup and maintenance costs and high performance output. Windows servers aren’t as easy to maintain, have a large memory footprint and until more recently have been problematic when it comes to security. They do often make great simulator machines especially when you have some old commodity Windows boxes lying around.

Continue reading


Leave a comment

How does Quality Assurance work together with Quality Engineering?

Chris McIntoshby Chris McIntosh, Senior Software Engineer

Over the years the software industry has developed many solutions to producing quality software to meet business needs. Software, however, is an ever-changing industry, and our tried methods are failing to keep up with modern development practices. Quality Engineering has made waves in the industry for a few years and is often associated with iterative or agile development processes, as a new way of ensuring quality software. How does Quality Engineering fit in to traditional Quality Assurance to get us working software?

Continue reading


1 Comment

Java Heap Analysis – Series Part One

james_cavazosby James Cavazos, Senior Performance Engineer

In Java performance testing, one of the most common and sometimes most frustrating issues is the memory leak. Even the most experienced engineer can slip a memory leak into their code. It is important to know how to spot one and debug the issue. Even if you can’t find the source of the issue without a developer’s help, they will always need data to work with so being able to provide useful information is crucial. Therefore, for a Java memory leak, the first thing you will always be asked for is a heap dump.

Continue reading


Leave a comment

Localization Done Right Guarantees Delighted Clients: High Level Localization Guidelines

by Paul Cooper, Senior Localization Engineer

Any time software is destined for the global market or for a diverse audience within a region, it is well worth planning the localization effort. Seemingly small errors in wording or presentation can ruin the professional aspects of a product, leaving instead an impression of amateurism or cultural indifference. The following steps are a guide to the localization process to produce successful translation packages.

Continue reading


Leave a comment

The Right Way to Hire Software Developers

Roger Frechby Roger Frech, Senior Software Architect

The new employee selection and hiring process is important for any business, but it is uniquely important, and uniquely difficult, for software development organizations.  Many organizations conduct a hiring process that overemphasizes the assessment of some of the candidate’s qualities, while ignoring others that may be more important.   A balanced approach, and more reasonable expectations, can lead to a more efficient hiring process. Continue reading