A Journey of Innovation and Persistence
Building VectorCAST
This article highlights the key moments and innovations that led to the development of VectorCAST, showcasing the persistence and creativity that turned a challenging project into a successful product.
The story of VectorCAST begins with a challenging project and a vision for a better way to handle software testing. John Paliotta, Co-Founder of Vector Software, shares the journey from the early days of programming on a US Navy submarine weapons system to the creation of a groundbreaking tool for automated unit testing.
Early Challenges and Innovations
"Bill (McCaffrey) and I were doing hourly programming in California on a US Navy submarine weapons system," recalls Paliotta. This project required extensive unit testing, which was incredibly time-consuming due to the lack of efficient tools. "There were no language-sensitive editors, and compilation on VAX / VMS was slow. For example, it took all night to build the software for our 40-person team, and it often failed with compile errors."
Frustrated with the inefficiencies, Paliotta took matters into his own hands. "I created a terminal-based test bed that I could use to run integration tests. Basically, it showed a menu of all the messages, you picked one, and it showed the list of fields, you picked one and set the value, etc. Then you could send the message, and the tool would print the result."
The Birth of VectorCAST
After moving back to Rhode Island and working at Raytheon, the idea of a "module acceptance test tool" emerged. "This was similar to what I had built in California, and I worked on that for 18 months or so with a group of four," says Paliotta. When this contract ended, they decided to build what would become VectorCAST.
"I found a recursive descent parser for Ada that was open source and, not knowing anything about parsers, started stripping it down until I understood it. At the end, basically using the tokenizer and a bit of other stuff, that is still in the VectorCAST/Ada tool. Then I started building a code generator on top of this to auto-generate test harnesses. This was in mid-1993."
Market Reception and Breakthrough
While Paliotta worked on the prototype, his partner Bill McCaffrey began pitching the idea of automated unit testing for Ada to companies. "He got an overwhelming positive response, almost everyone said they would be interested … people hated unit testing. We had no idea that a normal positive response to cold calling was 5%."
After about nine months, they had a beta version running on Windows and SunOS. Their initial plan was to OEM the tool to compiler companies. "We demoed it to Alsys (later called Aonix), Verdix (soon to be acquired by Rational), and Intermetrics. These three companies were the 'winners' of the DoD Ada design competition."
The big break came when Alsys mentioned their tool to Lockheed in Marietta, GA. "We brought a small Sun workstation down to Marietta and did a demo for them with their code using the Verdix Ada compiler, and somehow the tool worked on their code. It was far from complete, but on the basis of this demo and some additional discussion, they sent us a PO for about $100k for 5 'native' licenses and 4 target licenses, 2 for PPC and 2 for MIPS."
Conclusion
The creation of VectorCAST was driven by a need for more efficient testing tools and a willingness to innovate. From the initial challenges to the breakthrough with Lockheed, the journey of VectorCAST is a testament to the determination and ingenuity of its creators. As Paliotta reflects, "Lots of other stories … but this was the big break that allowed us to get going."
Acquisition by Vector Informatik
In a significant milestone for the company, Vector Software and its flagship product, VectorCAST, were acquired by Vector Informatik. This acquisition has allowed VectorCAST to reach new heights, benefiting from Vector Informatik's extensive resources and global reach. The integration has strengthened the product's capabilities and expanded its market presence, ensuring that VectorCAST continues to be a leading solution in automated unit testing. This positive development marks a new chapter in the ongoing success story of VectorCAST.
The Name
“VectorCAST” is a combination of the term "Vector" and the acronym "CAST," which stands for "Computer Aided Software Testing." In testing, a vector is a set of input data passed to a test object. These are used to verify the object's behavior. Along with expected values, vectors allow you to check whether the object behaves according to expectations, which are typically requirements. Thus, the name accurately describes the tool's purpose and primary approach: it offers computer-assisted software testing using test vectors.