ASTQ Summit is live Nov 4! Hear industry leaders share how they're delivering continuous quality. Register Now »
It’s astonishing how much planning, legal considerations, technical knowledge, and cost it takes to develop and deliver software systems. There are activities or sublayers of practice, like requirements management, testing or verification and validation of requirements, which are just a few of the phases in the software development life cycle (SDLC).
In addition, the development of safety- and security-critical systems further increases the labor and costs throughout each phase of the SDLC due to compliance and certification needs. Therefore incorporating an application lifecycle management (ALM) solution is vital to the success of a project.
ALM solutions, like Jama Connect, are designed to adapt to any popular SDLC methodology, including Waterfall, Spiral, Agile, or your own custom development technique. Whichever SDLC is in place, ALM solutions tackle the following general phases of software development:
Encompassing these phases are three key workflow capabilities that ALM tools like Jama provide.
Automated testing solutions, like those that Parasoft offers, give critical feedback about the completeness and thoroughness of the testing process to develop and deliver high-quality, compliant software.
Requirements management is a process or technique for documenting all collected requirements, agreeing on the requirements, and then analyzing, decomposing and prioritizing them. Engineering teams can then design and develop according to current and approved requirements.
While requirements are being decomposed, traceability must be maintained throughout the phases of development as customer requirements decompose into system, high-level, and low-level requirements. The coding or implementation phase realizes the low-level requirements. Consider the typical V diagram of software.
Each phase drives the subsequent phase. In turn, the work items or refined requirements in each phase must satisfy the requirements from the previous phase. Architectural requirements that have been created or decomposed from system design must satisfy the system design/requirements, and so on.
Traceability proves that each phase is satisfying the Jama requirements of each subsequent phase. Developers write code that implements or realizes each requirement and for safety-critical applications, links for traceability to test cases and down to the code are established. Therefore, if a customer requirement changes or is removed, the team knows what it impacts down the line, all the way to the code and tests that validate the requirements.
Industry standards like DO-178B/C, ISO 26262, IEC 62304, IEC 61508, EN 50128, and others require the construction of a traceability matrix for identification of any gaps in the design and verification of requirements. This helps achieve the ultimate goal of building the right product. More than that, it’s to ensure the product has the quality, safety, and security to ensure it remains the right product.
Verification is the part of the SDLC that ensures work is correct. Software verification usually includes:
Validation is demonstrating that the end product meets its requirements. Those requirements encompass functionality plus reliability, performance, safety, and security. Further, validation indicates seeing, trying, and testing the product. It consists of the execution of the software and demonstration of it running, and typically involves:
Parasoft’s software test automation tools accelerate verification and validation of requirements by automating the many tedious aspects of record keeping, documentation, reporting, analysis, unit testing, integration testing, system testing, structural code coverage, and much more.
Here are strategies to effectively accelerate the verification and validation processes.
The integration between Jama Connect and Parasoft is more than complementary. The combination automates and helps fulfill the tasks required for each of the SDLC phases. At the core of every software project, you’ll find the requirements that define the functional and nonfunctional behavior of the system.
To ensure that the system meets its expectations, Jama requirements are decomposed. Traceability links are established between the artifacts that refine or satisfy them. Parasoft’s automated software testing solutions then help verify and validate Jama requirements, satisfying compliance and software certification obligations from industries, like automotive, avionics, medical, industrial, and rail.
Want to learn more about the integration between Jama requirements and test verification and validation with Parasoft? Sign up for our upcoming webinar happening Wed, July 28th!
A Sr. Technical Product Marketing Manager for Parasoft’s embedded testing solutions, Ricardo has expertise in the SDLC and test automation of embedded real time, safety, and security-critical applications, and software compliance to industry standards.