by Benjamin Frech, Senior Software Engineer
Increasing a team’s productivity is a ubiquitous goal. But, how do you achieve that goal?
To many, it may be tempting to use velocity as a measure of productivity, but the value of a story point can vary significantly over time. Once you get past counterproductive answers like, “let’s inflate all our story points by 50%,” you’re left with options that can actually increase your team’s productivity or, at least, facilitate collaboration between team members.
In my experience, the top two methods of truly increasing productivity involve creating a comfortable work environment, and addressing technical debt and developer concerns. Read more
by Troy Rudolph, Senior Software Engineer
The market certainly offers many test automation tools for testing in a variety of environments, but there is a relatively new one I particularly like for automated testing in web applications. While Codeception is intended primarily for testing PHP applications, the UI testing tools may also be used to easily create automated tests for web applications, as well.
In Codeception, these tests are referred to as acceptance tests. These tests are based on the notion of Behavior Driven Development (BDD). Essentially, BDD states that tests should be specified in terms of desired behavior. In the case of BDD, the behavior described is that of a user (or tester). To learn more about BDD, I would encourage reading the inventor’s article at http://dannorth.net/introducing-bdd.
A simple test might look like… Read more
by Chris Durand, CTO
Are you looking for new way to solve pressing technical problems? Well, I’ve found one, and I recommend it for anyone looking for a fast way to start a problem-solving process. I call it the “straw man” technique, and it’s pretty straightforward:
- Think of the simplest possible solution or partial solution for a problem. This is the “straw man.”
- Discuss with your team reasons why you think the solution will work or not. My favorite question to ask is, “Why won’t this work?”
- Modify the straw man accordingly and repeat until you have a useful solution.
That’s it! I find myself using the straw man technique often; you can, too. Imagine you and your team are looking for answers on how to solve a challenging problem or implement what appears to be a complex feature. Think of a super simple solution that addresses at least 50-60% of the problem and ask the team why it won’t work. Then iterate from there until you reveal an acceptable solution. Read more
by Diane Kenyon, VP of Engineering and Operations
Benjamin Franklin famously stated that, “an ounce of prevention is worth a pound of cure.” In the world of quality software, that analogy may be underestimated. Errors in software development discovered at the release stage are greatly more expensive and difficult to repair than when discovered during the testing and development stages.
While there are no guarantees of perfect success, establishing best practices for development and properly educating your team of those guidelines will significantly reduce the likelihood of errors and diminish their impact. The key lies in making sure everyone knows the rules to the point of being able to quote them, and that each person understands his/her responsibilities within the project. Culture, compliance needs, expectations and risks all go into establishing a framework for success.
Following this structured process for defining and hardening your best practices improves consistent adoption across all team members: Read more
by Morgan McCollough, Senior Software Engineer
In the first week of June, I made the trek to Caesar’s Palace in Las Vegas to attend the Agile Development and Better Software Conference. The conference itself was only two days, but I attended a three-day Agile scrum master training class beforehand. It rounded out a full week immersed in all things Agile.
I’ve worked with a number of clients who claimed to have adopted Agile in one form or another. I’ve also read quite a bit about it, but prior to my week in Las Vegas, I had never received any formal training. The trip was eye opening, and it was a great opportunity to talk with people from across the industry.
What really became obvious was just how many companies are successfully implementing Agile processes at both the software development and program management levels. Some are achieving pretty dramatic results, with up to 30% shorter schedules and 75% fewer defects on average! However, learning the formal practice of Agile also made it clear how much dysfunction still exists, even in companies claiming the Agile moniker. Read more
By Brenda Hall, CEO
Here’s some great news: despite whatever views we may have of how unemployment figures are determined, the economy continues to recover. In many parts of the US, a number of jobs are not getting filled; this also holds true for offshore staffing companies. I know many recruiters who are having difficulty keeping up with demand and finding an adequate number of candidates with the skills employers need.
Frequently, as businesses grow and need to scale, owners and managers find they have too much to do and not enough time to do it, so they pay less attention to the offshore/outsourced resources available to them. Taking your ‘eye off the ball’ here can cause havoc with your teams, both locally and offshore.
Some questions to consider:
How does offshore sourcing affect your productivity and product quality? What will you do when release schedules are missed, or worse, your software is released with issues? How does this influence your corporate strategic goals and customer satisfaction? Read more
By Nadine Parmelee, Senior Quality Assurance Engineer
When it comes to software quality and reliability, there are many benefits to be gained from a switch to an agile development environment. Agile helps teams stay focused; it helps them deliver a quality product more quickly. It drives efficiency and leads to improved results throughout the software production process.
Automated Testing: A Must-Have in an Agile Environment
An agile environment requires automated testing. And with more and more development teams moving to agile processes, the need for automated testing has grown exponentially. Agile test cycles tend to limit the amount of testing that can be accomplished, so getting a good regression set of tests automated is more crucial than ever for you to reach your goals of increasing product quality and reducing costs associated with product defects. Read more
By John Cavazos, Senior Performance Test Engineer
At one time, it was very common for companies to use a homegrown solution to performance test their software. This was mainly due to two factors:
- the lack of available, cost-effective commercial testing tools
- the complexity of their software
The situation is different today as it is common to find excellent, free, open-source tools online. These high-quality, stable, easy-to-use tools don’t have the inherent maintenance costs associated with using homegrown solutions.
There are now several industry standard tools available that can be used to performance test most, if not all of the features a company might need. What isn’t readily available can typically be added to these tools with minimal effort due to their open-source nature. Here are a few I have used: Read more
By Morgan McCollough, Senior Software Engineer
Testing software can be a very complicated, time-consuming process. The number of possible inputs to a system and the ways in which they interact can quickly create a situation where the set of possible test cases is, for all practical purposes, unbounded.
In order to find the problems in a piece of software, a tester’s job is in large part about finding intelligent ways to pare down the possible test scenarios in such a way that the majority of problems are found in a reasonable amount of time.
To this end many techniques have been proposed over the years as shortcuts to finding the best set of test cases for locating the most software bugs in a time-efficient manner. One such technique that seems to be gaining in popularity is Pairwise Testing, also referred to as “All Pairs”. Read more
by Lakshmi Kirthivasan, software QA engineer
Our team at Bridge360 is very focused on quality in the software production process. Expertise in all forms of testing helps us provide our customers with a higher quality product, so it’s critical that we have expertise in testing.
I have some programming skills and years of manual testing experience, but decided I wanted to become more skilled at automatic testing. Because all of the projects I’ve worked on over the last six years required only manual testing, I was mostly unfamiliar with the current tools available for automatic testing. This prompted me to do some research to see which tools were available and most widely used.
My research on job boards in both the US and India led me to the conclusion that seemingly everyone in my industry is embracing the fascinating world of automation. It was rare for me to find any job which focused only on manual testing. Today’s testers are expected to know one or more automation tools like Selenium, Watir, Cucumber, Test Complete and FitNesse. Numerous testing tools are loaded with standard functions and options but still don’t provide a complete solution for many testing situations. Typically, some tweaks to provide added functionality are needed to fit the requirement. Read more