Even the very best software developers will invariably make mistakes and code bugs into their software applications. Unless you want your customers to discover those bugs as they are using your product, testing the software before it reaches the end-user is of paramount importance. This task is typically the reason why most software development companies hire and maintain a separate Quality Assurance team of individuals. This QA staff will endeavor to manually create and run real-world simulations using the software product in the same manner as would the customer, hoping to expose and ultimately fix errors and issues before the software is released. The number and complexity of manual testing tasks can grow exponentially and become impossible to manage, requiring some automation to expedite the process.
Manual testing is a situation in which a QA employee would be tasked with sitting at his/her workstation trying to recreate an issue that a user has reported in the application software with the end result hopefully being to discover, troubleshoot and resolve it. The automated testing of application software typically involves the purchase of software automation tools, as well as the adoption of automated testing methodologies that allows that same QA person to record their interaction with the application and then playback that recording as frequently as needed. Rather than zeroing in on just one issue, automated testing can be so comprehensive that it exposes issues the QA team (and more importantly, the customer) wasn’t even aware of. Because automated testing is done through an automation tool, less time is needed in exploratory tests and more time is needed in maintaining test scripts while increasing overall test coverage.1
Benefits of Automation
In the television series, “Halt and Catch Fire” which takes place during the decade of the 80’s, one of the main characters realizes that his company’s very expensive mainframe computer only runs from 9:00 AM to 5:00 PM Monday through Friday. He suddenly sees that a whole new financial opportunity can be opened up by using this mainframe during the idle 16 hours each day plus weekends, by leasing computer time to other companies during the hours that his company isn’t using it.2 With that in mind, I must agree with the tag line that I see at the bottom of each post by Robert Martin, expert of the Smartbear automated testing tool: “Why automate? I do automated testing because there’s only so much a human being can do and remain healthy. Sleep is a requirement. So, while people sleep, automation that I create does what I’ve described above in order to make sure that nothing gets past the final defense of the testing group.”3 Automating the testing of software applications increases productivity without having to hire additional staff to cover multiple shifts around the clock to keep the manual tests running.
Someone once punned that, “To err is human, but to really foul things up you need a computer.”4 When you decide to automate, you must remember that just as the very best software developers will invariably make mistakes and code bugs into their software applications, so too will those developing the automation to test that software. If you have a mistake in a manual test, its presence is quickly discovered and remedied. If your automated tests are running unattended at night or over a weekend and contain any number of flaws, it can wreak havoc by the time it is discovered. Consequently, the development of automation needs to incorporate the same quality processes that govern the development of actual software products. In addition to utilizing a proven set of development methodologies and processes (such as Agile/Scrum), developing the automation for testing software depends greatly on choosing the right tools for the specific type of software being tested (thin-client/web-based applications, rich client/desktop programs or smartphone/mobile apps). There are numerous companies from which to choose (qTest, Ranorex, Smartbear, etc.). Pick the one that’s right for you.
Having made the decision to transition from manual to automated software testing keep in mind that it is just that, a transitional process. It won’t happen overnight but if you do it right, gradually, over time you will reap the benefits of increased productivity, fewer errors in the software releases and, ultimately, happier and more satisfied customers.
About Automated Systems, Inc.
Since 1981, Automated Systems, Inc. has been a leader in providing innovative core banking, digital banking, and data processing solutions to community banks nationwide. An array of integrated applications provide partnered banks with tailored, cost-effective, competitive choices. ASI delivers industry-leading technology backed by unparalleled in-house conversion, training and support teams; paving the way for progressive, top-notch customer service. ASI corporate headquarters are located at 1201 Libra Drive, Lincoln, NE 68512, 1.800.279.7312. For more information about banking solutions from ASI, visit www.asiweb.com.
About Insite Data Services
IDS data application hosting services combines secure and cost-effective core banking applications, enterprise-class servers and storage, and proven virtualization technology. IDS hosts all of the bank’s servers in secure data centers that use state of the art security systems including identity verification and biometric scanning. Insite Data Services also offers IDS On-Time, a full-service solution dedicated to back-office bank processing. These operations experts allow partnered banks to focus on their most important asset, their customers. For more information visit www.insitedataservices.com.