26
Thu, Dec
0 New Articles

Technology Focus: Finding What Shouldn't Be Broken with Software Testing Tools

General
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Bugs in software can be due as much to organizational problems as bad coding. Finding errors reliably often requires some help.

 

When you stop and consider how complex some of today's software applications can be, it can seem like a minor miracle that they work as advertised. As we all know though, applications often don't do what they're supposed to do or don't do it the right way. When that happens, software testing tools and methodologies can be an important remedy.

 

However, the tangled nature of software errors sometimes makes the very nature of tracking them down a process in which multiple false leads dog every step. For example, simply defining what the problems are can bring out differing viewpoints among end users. That's also true when one asks application testing-tool vendors what the major problems are.

The Nature of the Beast

"The three most common software errors in our experience," reports Floyd Del Muro, vice-president of sales Americas for ARCAD Software, "are 'technical errors' (a program is overlooked or missed to be recompiled after a file change, missing parameters between program calls), 'functional' errors (changes in source code do not produce the expected results in the delivered application), and 'regression' errors (changes have an impact on other parts of the software that were not supposed to be affected)."

 

George Wilson, head of sales and operations at Original Software, characterizes the most common software errors differently. "Cosmetic errors are the most common, such as things not lining up, inconsistencies in style, and spelling errors. Unclear and incomplete requirements come in second. If a statement is open to interpretation, you can be sure two people will interpret it differently. Third in line for the glitch parade are errors lurking in data combinations.  Developers will not usually test all the possible combinations before stamping a new function with the 'It Works' label."

 

Jennifer Fisher, an IBM i architect/analyst for Fresche Legacy, cites data errors, design flaws, and implementation errors as the three biggest sources of trouble. "In most software written for the IBM i, database integrity is enforced by the application program and not by the database, so the burden of handling data-related errors, which should not exist, falls to the developer," she elaborates on the first source. "Because most projects do not allow sufficient time for thorough testing, it's critical that the data used for testing be representative of production data, referentially accurate, able to satisfy all use cases, masked to protected private information, and easily refreshed to a known state." As for design flaws, she goes on to say, "This can be caused by poor communication, insufficient understanding of the application, and intentional compromises (due to time and other resource constraints)."

Sifting Through the Potential Problems

These responses raise the legitimate question of whether or not organizational errors are as much to blame for software bugs as bad code or other reasons.

 

"More often than not, requirements are the culprit. Developers for the most part write code that works as they intended," notes Original Software's Wilson. "But their expectation may differ from those who will be using the software."

 

"More software problems are introduced to existing systems because changes to the existing systems are made with an incomplete understanding of the system to be changed and by design compromises that are made to minimize the scope, risk, and testing effort associated with the changes," Fresche Legacy's Fisher points out.

 

"It depends on how the information system is built," observes ARCAD's Del Muro. "If it is composed solely of in-house code, software problems are mainly due to organizational issues, such as lack of formal communication between team members, lack of formal specifications, or poor or no workflow definition. If it's a third-party software package...what we see typically is that the upgrade introduces a set of changes to existing functionalities that may not have been requested but are provided as a new standard of features by the Independent Software Vendor (ISV). What is often the case in the large majority of IBM i customers we work with, the information system [problem] is a combination of these two scenarios."

 

As a result, he adds, upgrading customized code at the client site to remain in sync with the software package can become complicated and rigorous. "Existing manual processes and a lack of team awareness can produce some very undesirable results if that is the current development strategy in place."

What to Do, What to Do?

What are the implications if organizational errors are cited by testing-tool vendors as being as big a source of application software problems as under-the-covers technical issues? Is a consultant on internal processes going to be more productive in eliminating software problems than a testing tool or a testing regimen? These three vendor representatives advocate differing approaches to addressing such problems.

 

"As we say in London, 'Mind the gap!' Assembling combined IT and business teams during each phasedesign, build, and testreally helps close that gap. Joint groups can dispel entrenched views resulting from mental and emotional investment in code that's off target," suggests Wilson.

 

"Today's enterprise systems are tremendously complex, especially at integration points. Business rules and process flows add another layer of complexity. If this layer is not fully understood or documented, testing becomes challenging. Interface points should be tested comprehensively to the standardin both directions and independentlybefore trying to join systems. Virtualization is essential in this process. After clearing this hurdle, you can start making connections and performing end-to-end testing."

 

"The lack of a functional integrated tool set to properly manage the entire application landscape, including testing, is the dominant reason for software errors in production," Del Muro maintains. "The biggest difficulty is to be able to reproduce a sandbox that is closest to what currently exists in the production environment, specifically in the areas of application architecture and data. It cannot be stressed enough; it is all about having a repeatable and automated process in place with dedicated hardware configurations to mirror production and dedicated test databases with an automatic refresh process."

 

"The first challenge to overcome is the creation of a testing environment that contains accurate, meaningful test data that can easily be refreshed to a known state," agrees Fisher. "The second challenge is to gain a complete understanding of the applications in order to build a testing plan that thoroughly exercises and validates all of the decision points and dependencies in the logic."

 

Below is a compilation of application software testing tools for the IBM i that run either natively under i5/OS or under other operating systems that can operate on the i. The descriptions are simply summaries of general capabilities. Please use the associated links to the vendor websites to get more complete information about each product.

Application Testing Tools for IBM i

ARCAD Software

ARCAD-Verifier

ARCAD-Verifer helps automate management of underlying test data and the process of conducting regression testing on applications, as well as the process of creating regression-testing campaigns. Verifier highlights UI differences between program versions, detects database differences after app execution, and records all keystrokes and system responses that occurred during a test.

 

Borland

Borland's products run on Windows PCs but can test .NET and Java client applications that attach to IBM i servers via MicroFocus Rumba.

 

Silk4J

Silk4J helps developers test applications written in Java, including Web 2.0 apps. It tests apps using multiple browsers (e.g., IE, Chrome, Firefox), supports Eclipse and Java, and offers a standalone test recorder with customization, export, and replay functions.

 

Silk4Net

Silk4Net is a plug-in test tool suite (also available as a service via the cloud) for MS Visual Studio and can test apps in AJAX, Flex, Java, .NET, and Web 2.0 environments. It offers test-script playback, local and remote test execution across multiple machines, multiple browser support without script modification, and an automated run mode for "slow motion" test playback.

 

SilkTest

SilkTest is a test-automation solution for functional, regression, cross-platform, and localization testing of Web 2.0 and other applications. It runs either locally or within the cloud. Features include a collaborative environment for test creation, ability to test applications using multiple browsers, and integration with MS Visual Studio and Eclipse IDEs.

 

Databorough, a division of Fresche Legacy

X-Analysis

X-Analysis is a tool suite for documenting and modernizing IBM i applications. Although not specifically designed for testing, it includes functions that can help with the process of application development and testing. These include application-code impact analysis, automated business-rule extraction, test-data extraction and cleansing, and automated data-model extraction.

 

X-Datatest

X-Datatest specializes in testing of IBM i applications. Its functions include screen-testing automation tools, defect tracking, test-database preparation, test-data output comparisons, and test management.

 

IBM Corporation

Rational Functional Tester

Rational Functional Tester provides automated functional, regressive, GUI, and data-driven testing under Linux and Windows. It represents test actions in a storyboard format and offers total lifecycle traceability, fuzzy logic features that can find changed objects in successive tests, a recorder for user actions during testing, and a data-validation wizard.

 

Rational Performance Tester

Rational Performance Tester is a performance testing solution that validates the scalability of web and server applications. It identifies the presence and cause of system performance bottlenecks and reduces load-testing complexity. Features include code-free testing, root-cause analysis tools, load testing, and realtime reporting.

 

Rational Purify Plus

Rational Purify Plus is a set of dynamic software analysis tools that helps developers improve application reliability and performance. Product features include memory debugging, memory leak detection, performance profiling, and code coverage analysis. Rational PurifyPlus locates coding errors, identifies performance bottlenecks, and analyzes each component, even those without source code.

 

Rational Test Virtualization Server

Rational Test Virtualization Server can stub out any systems unsuitable or unavailable for functional, integration, and performance testing. Developers can build intelligent stubs from the interface definition of the system for a wide variety of protocols, including HTTP, web services, SOA, JMS, TIBCO, IBM WebSphere MQ, and Oracle.

 

LogiGear

TestArchitect

TestArchitect runs under Linux and Windows but can be customized to test i5/OS and mobile-device apps and carry out API and protocol-based testing. It uses keyword-driven action to test specific application attributes, records test actions for reply, offers a collaborative environment for test building, and provides a library of preprogrammed test actions for supported UIs.

 

Test Automation Services

LogiGear offers software testing as a service. It can test software with its tools (TestArchitect), your tools, or third-party tools such as Borland's SilkTest or IBM's Rational Function Tester.

 

Original Software

Original Software's products are available as a suite or standalone.

 

TestBench

TestBench facilitates establishment of limited but representative databases for testing IBM i applications that use DB2, Oracle, and SQL Server databases. It helps test the effects of applications on databases, manages test environments, verifies and validates application data, generates extraction reports for auditing, and supports error recovery and repeatable testing.

 

TestDrive

TestDrive automates test procedures for browser and legacy applications, as well as GUIs based on AJAX, Java, and Silverlight. It lets users create tests via a point-and-click interface, supports data-driven testing, and supports agile applications.

 

TestDrive-Assist

TestDrive-Assist is designed to help manual testers for situations where automated testing is inappropriate. TestDrive-Assist includes multi-language spelling and link checking, offers step-by-step detail capture, seeds regression tests from captured processes, and automatically builds an audit trail.

 

TestSmart

TestSmart helps ensure that variable data used for testing applications is optimized and consistent. It can create test data automatically, imports test data from spreadsheets, lets testers define business rules and requirements, and calculates every possible data combination that fits those rules.

 

Parasoft

Parasoft C/C++Test

C/C++Test provides automated software testing tools for applications written in C or C++. Features include static analysis, unit testing, runtime error detection, the ability to jump to any point in the product-highlighted analysis path, and tools for automating peer review processes.

 

Parasoft dotTEST

dotTEST checks the validity of applications written in .NET (including C#, VB.NET, ASP.NET and Managed C++). In addition to static analysis and unit testing, dotTEST handles plug-in testing by setting up a test environment and launching tests from within it.

 

Parasoft Insure++

Insure++ is a runtime checking tool that identifies programming and memory-access errors in C++ application code. It protects against corrupted heap and stack memory errors, uninitialized pointers, memory leaks, and type mismatches in global declarations, among other problems.

 

Parasoft Jtest

Jtest provides static analysis, unit testing, code-review, and runtime error-detection tools for applications written in Java.

 

Parasoft SOAtest

SOAtest automates Web application testing, message/protocol testing, cloud testing, and security testing. It provides end-to-end app testing, application environment managing, and a workflow regime for app testing.

 

Service Virtualization

Service Virtualization helps software testers build application test environments and access them from anywhere. Supported testing types include performance, agile, functional, mobile, and SAP apps.

 

PTC Integrity

PTC Integrity Test

PTC Integrity Test provides an application test-management solution under UNIX and Windows that helps QA managers plan comprehensive test programs, assists test executors in recording test results and spotlighting defects, facilitates preparation of manual test cases, notifies developers of test results, and documents analyst requests for test specifications. The product also integrates with .NET, Open API, and Eclipse.

 

SmartBear

LoadUI Pro

Create, configure, and redistribute API and Web-service load tests under Linux and Windows with LoadUI Pro, which includes automated test-creation tools, server monitoring aids, and a statistics workbench for tracking and reporting test results.

 

SoapUI Pro

An API and Web-service tester for programs running under Linux and Windows on the i, SoapIU Pro administers functional and regression testing, helps generate test reports, tests against common security vulnerabilities, and records all test actions and data transmissions during tests.

 

Thenon Holdings, Ltd.

SmartTest400

SmartTest400 provides automated regression and functional testing of IBM i applications. It administers tasks assigned to test teams, automates creation of test environments, enables recording and playback of business processes, and helps assemble appropriate testing databases.

 

Worksoft

Worksoft Certify

Worksoft Certify specializes in testing applications and business processes that interact with SAP software products. Certify uses desktop- and browser-based clients for testing, validates business processes and data access, and promotes component reuse.

 

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: