We are all well aware of the fact thatsoftware is far from perfect. Whether you’re talking about business management systems or mobile apps, there’s always the possibility that they could malfunction without warning, thus seriously impacting the overall success and profitability of an operation.
As a result, software testing has become increasingly relevant – a vital part of the development life cycle of the software itself. Experts agree that development and testing are two inseparable but independent disciplines that should work together to help identify potential faults before the software is brought to the production line.
Many agree, however, that software testing is not always given the importance it deserves. This is often down to the fact that the businesses themselves are in so much of a hurry to enter the market and stay ahead of the competition that they dismiss testing as a waste of valuable time. Blame can also be placed at the feet of the developers themselves, as students often graduate from universities without being fully competent.
One thing is for sure – testing is a vital part of the software development life cycle. Just as a cinematic editor works to enhance a movie and a proofreader works to perfect a text, a tester is there to help perfect the software. The developer is the one responsible for testing the code before sending it to the official testers, who are there to help improve the quality of the code and the final product rather than to look for errors that may have been made when writing said code.
According to Enrique Cortes, Managing Director at Luxoft (an IT outsourcing and tailor-made software development business), total independence between the one developing the software and the one testing it is vital in ensuring accuracy and objectivity. “Using an independent testing or quality assurance organization is vital. While a developer may be confident that the software he has created will work well, it still needs to be thoroughly tested to determine which parts perform well and which don’t perform so well.”
According to Cortes, testers are often viewed as “second-class citizens”. In other words, they are not considered to be as important as the developer himself. Cortes believes, however, that those carrying out the tests are just as important as those developing the software. “They need to be on the same level so that they both feel free to express themselves when it comes to informing the other of any flaws or defects that may need to be addressed. This is where it all starts – with independence when creating and testing software.”
According to Victor Martinez, Director of Client Solutions at Tiempo Development, software testing has been undervalued for far too long. Many universities don’t even include the subject in their study plans. He feels that, when it comes to careers involving IT, testing is seen to be of little relevance, rather than being an integral part of the software development life cycle. “The same thing happens when the students finally join the work force – there are very few who actually want to carry out the software testing,” he states.
According to Martinez, many businesses, in their zeal to launch their products onto the market come to see testing simply as another thing conspiring to slow them down. They look to cut costs by reducing the amount of time they dedicate to software testing, some even failing to complete certain tests that are vital to ensuring the product performs well and can be used without complications.
A good example of this is the huge increase in untested mobile apps being released onto the market. The end users are the ones that are left to discover, report and suggest improvements for the faults they contain. “A trend that is becoming all too common is the user playing the role of the tester,” Martinez says.
Of course, this cannot be allowed to happen when it comes to apps that are vitally important to the running of the business, such as those used in the financial system and the medical control system. “Each business has to agree on what degree of reliability it requires of its software and invest in the testing process accordingly,” Martinez adds.
First and Foremost: Quality
According to Cortes, there is a direct link between the quality of software and the success of the business: “A fault in the software leaves the customer with a bad impression; they see only wasted money and missed business opportunities, which negatively impacts the brand’s reputation.”
Today, people go online to transact with banks, airlines, shops and business systems in general, so faults in the software result in serious problems for the business. “If you do not have a sophisticated means of testing and carrying out quality assurance checks, the results will be disastrous. It is a science that has advanced to such a degree that it is now possible to predict how many faults will be found per line of code before carrying out the test.”
The main reason a company should invest in software testing is to ensure quality. According to Martinez, if you don’t invest the necessary amount of time, money and effort when testing an app you are likely to encounter all manner of problems further down the line. “If, as a user, you download a faulty app or an app that doesn’t do what it claims to, you will automatically assume that all other products released by the same company are going to be of substandard quality. This will negatively impact on the customer’s opinion of the company,” he states. “For an organization to produce high-quality software it has to be willing to invest in professionals with the necessary training and experience working as testers.”
The School of Banking and Commerce (EBC), one of the main business and finance universities in Mexico, recognizes the importance of software testing. Their tests are carried out internally in their Quality Assurance (QA) Department. Juan Manuel Zenil, Information and Communication Technology (ICT) Manager at the university, works with several of the user departments on the design, development and testing of apps used both by the students themselves and the university’s administrative and academic departments.
When it comes to the university’s development projects, the Grant Management System, (currently at the testing stage but with plans to start production in 2015) is noteworthy. This system (to be used in the Control Escolar Department) has been internally developed to follow up on the grant requests submitted by students. It provides information regarding the students’ qualifications and academic performance and indicates whether they comply with the EBC’s internal policies or not.
According to Zenil, internally testing software has been the best route to take for them. “Mainly because the staff involved in carrying out the testing are fully familiar with the business procedures in place. They know what to test and how each campus operates. This results in their being able to build test matrixes and procedures much more quickly than others.”
For more details, click here
The Latest Software Testing News department was not involved in the creation of this content.