Every test suite has them: a few tests that usually pass but sometimes mysteriously fail when run on the same code. Since they can’t be reliably replicated, they can be difficult to fix. The good news for software testing is that there is a set of usual suspects that cause these issues: test order, async code, time, sorting and randomness.
Since the start of software development, we have always had to test our software. And over the course of several decades, the discipline of software testing has seen many best practices and patterns developed. Unfortunately however, not all practices have been good and there are also anti-patterns.
Your team has some test data. Let’s say you loaded in a backup form production a few months ago. Your QA specialists are familiar with the data, but your software developers hate it. They keep telling you, “It is not the right data,” or, “It is not very useful for testing.” You let them write and automate some tests, but it is not enough.
Good test data management is one of the best practices of successful software quality assurance, especially when you perform integration and functional testing for large systems. In this article, Christian Meléndez discusses important topics associated to test data management like how much data do you really need, how to deal with data privacy concerns, test data as self-service and test data generation.
As Artificial Intelligence (AI) is gaining wide acceptance in the software development world, the question is open on how you should apply software testing practices to this type of software. Based on a true story, Anna Royzman explains that you need to carefully design your test strategy… and not only for AI software.
Test management is defined by Wikipedia a part of the software testing process that includes the planning of tests, their execution and the storage and analysis of the tests results. This is achieved also by the integration with requirements management tools, functional software testing tools like Selenium or Cucumber, continuous integration tools like Jenkins or TeamCity, bug tracking tools like Bugzilla or Mantis, project management tools like Trello Redmine or JIRA.
With the rapid implementation of Agile development in most IT environments, the traditional roles of functional QA managers are changing. Testing is now the responsibility by the product team; day-to-day testing tasks and accountabilities are largely owned by the product team and defect status is discussed on a quick daily meeting. But yet all of the testing personnel report into the QA Manager from an organizational viewpoint.