Beating the Average Software QA Tester : Strategies for Improving your Software Testing Skills

A good professional Software Tester is someone who never stops learning; they always have an insatiable thirst for knowledge.

Software technology changes quickly. As a result, we need to continuously keep learning new technologies, frameworks, and techniques. This remains one of the most rewarding aspects of the profession. Software testers able to keep up with these changes are worth their weight in gold to most IT companies.

Betica is a technology solutions provider specializing in Software Quality Assurance. We strive to provide superior customer service through our fast, detailed, and accurate software testing. We are proud of our procedures, which allowed us to establish a strong QA team made up of skilled professionals surpassing the industry average.

What follows are some traits necessary for becoming an excellent QA professional:

Always ask WHAT IF

What would happen if I do it this way?
What if the User is not familiar with the system and tried a different approach?

It is important to always ask this question: “What if?” Sure, following test cases is a vital part of the QA process. However, a good tester would not limit themselves to executing only what is written in the test cases.

Ensuring Quality and Quantity

These are the 1000 issues to be verified today”.

A good QA tester must know if the given tasks are achievable within the deadline. If not, they should be assertive to ask for an acceptable timeline to finish the task without sacrificing the quality of the result.

In Betica, we prioritize the quality and quantity of our work output. We are fully committed to provide high-quality services that will meet or exceed the requirements of our clients.

Think like a Customer

As Betica’s Core Value, we place ourselves in the customer’s shoes. Customers have a problem that needs a solution, we explore options on how to solve it, respect their choice and then help them achieve it. 

Effective Communication

Effective communication is a fundamental aspect of the software QA process. In Betica, we have competent QA testers with strong communication skills in order to work according to the client’s requirement and to be able to interact with other team members and clients.

Clear communication will enhance productivity by minimizing errors and reducing the time spent from retesting.

Practice Good Documentation

Documentation is an essential part of the software QA process. Testers are responsible for writing test documents, reporting bugs, and notifying the team about any issues through email. This will make the testing process easy and organized.

Good documentation should contain correct, complete, current, and consistent information so that the whole team can effectively execute their tasks.

Make the Right Decisions

A story was once told about a successful Bank President being interviewed by a reporter:

“Sir, what is the secret of your success?” a reporter asked a bank president.
“Two words.”
“And, sir, what are they?”
“Good decisions.”
“And how do you make good decisions?”
“One word.”
“And sir, what is that?”
“Experience.”
“And how do you get Experience?”
“Two words.”
“And, sir, what are they?”
“Bad decisions.”

The moral of this story is that there is nothing wrong with making mistakes as long as you learn from them, and use that newfound wisdom to make the right decision in the future.

These are the traits for providing the best QA service for our clients. In order to beat the average software QA tester, you must apply any or all of the traits in your day-to-day QA tasks. This will increase your chances to have a successful career as software QA tester.

The Changing QA Process in a DevOps World

There’s no denying that the advent of the Agile and DevOps methodologies have changed the way software gets written. DevOps, with its emphasis on collaboration and communication, especially fits in today’s fast-paced business world. Many enterprises now aspire to a continuous deployment model so new features or bug fixes don’t have to wait a few weeks before making it into production.

So how does a faster software development process affect Quality Assurance? Are QA engineers now stuck in meetings most of the day with minimal time to actually test software? What follows is a look at the changing process of QA in this era of DevOps.

Software Development: One Process and One Team

At many enterprises, the executive team perceives the task of software development as being performed by one group, even if legacy methodologies like the Waterfall are still in use. The distinction between separate software engineering, QA, and network administration teams doesn’t matter to them. With DevOps, this perception finally becomes a bit closer to reality with everyone working closely together towards the common goal of rapid software delivery.

For the QA role to succeed in the world of DevOps, automation and a robust set of tools to support the testing process are vital. This allows the QA engineer to accomplish more within an 8-hour day that now includes additional interaction with developers, network engineers, and business analysts.

Their ultimate goal is to find defects as quickly and as early in SDLC as possible. Continuous and automated software deployment in today’s business world makes the concept of a software release schedule almost seem quaint by comparison.

Automation is a Key for QA in the DevOps Era

Being able to automate the software testing process helps QA operate at the faster speed necessary in the DevOps era. Leveraging automation also speeds up the software build process — at the developer, QA, and production release levels.

Additionally, if the development staff follows TDD (test-driven development) principles, their unit tests will catch many programming defects, allowing QA personnel to direct a portion of their efforts towards other aspects of software or system quality. This is one example of how DevOps forces team members to share responsibility for the overall product, instead focusing on what used to be their own specific area.

In DevOps, QA can now serve a role as a final arbiter for overall system and process quality, a point emphasized by Carl Schmidt, CTO for Unibounce. “I’m of the mindset that any change at all (software or systems configuration) can flow through one unified pipeline that ends with QA verification. In a more traditional organization, QA is often seen as being gatekeepers between environments. However, in a DevOps-infused culture, QA can now verify the environments themselves, because now infrastructure is code,” said Schmidt.

So migrating to a DevOps methodology doesn’t make QA go away. In fact, with additional responsibilities on their plate, QA engineers depend on state of the art tools to accomplish more tasks at a faster rate. Ensuring quality throughout the process — including software delivery — is the ultimate goal.

In the upcoming weeks, we’ll look more closely at some of the tools used by QA personnel to help them do their jobs — whether on an Agile or DevOps project as well as any other software development methodology.

The Advantages of Software Testing in a Different Time Zone

The growing popularity of modern software development methodologies, like Agile and DevOps, combined with the social media-driven 24-7 business landscape has led to the need to enhance applications at a faster pace. Relatively new methodologies like Continuous Delivery and Continuous Integration are the ultimate goal for many software development shops. In short, software engineering needs to operate at the speed of business.

What if your QA team is located in a different time zone than your development staff? Maybe even on the other side of the world? Your programmers arrive each morning with a list of bugs to fix, while the QA personnel are able to test those changes “overnight.”

Is this an alternate way to make Agile or Continuous Delivery work? Let’s look more closely at the details.

Your Entire Software Team works around the Clock

Having your entire software development team engaged on a 24-hour basis offers many advantages to companies aspiring towards the Continuous Integration model. Separate locations for your QA team and software engineers help make this a reality.

Even a four to five hour difference in time zones provides time for additional collaboration when both teams are “on the clock.” Longer distances place an onus on providing clear communication between teams on what needs tested and/or what bugs were found in the last test cycle.

If your entire staff is located in the same building, however, either testers or programmers need to wait around for the other team to finish their tasks. This leads to inefficiency, even considering the enhanced communication desired on an Agile or DevOps project. A scenario where one team works while the other one sleeps offers the best use of time.

Helping the Software Development Process achieve Continuous Delivery

Ian Lotinsky, the CTO for LearnZillion, leads a software development process leveraging the Continuous Delivery methodology. In a blog post offering advice for shops looking to implement Continuous Delivery, he mentions the advantages derived from engaging a QA team located offshore. “When an engineer’s code has passed peer review and the automated QA test suite, it is sent along to QA for manual inspection. Test results are back by the next business morning because some of our QA team members are located in India. They test our work while we sleep,” said Lotinsky.

Another key point from Lotinsky’s quote worth noting references the fact only a few of their testers are located offshore. This arrangement allows some QA personnel to work more closely with the programming team during the day, while the testing never stops after the remote QA staff picks up the effort overnight. The key for your software team is finding the right mix of a 24-hour development cycle compared to the enhanced communication and collaboration when both testers and programmers are located in the same building (or closer time zones).

Betica’s own certified Software Testing Laboratory is located in the Philippines, offering your organization the benefit of a 24-hour development cycle depending on the location of your software engineers. Contact us for additional information.