An accelerated shift in automotive engineering from complex mechanical systems to a software-defined vehicle architecture has created a significant cost and quality disadvantage for traditional automotive OEMs. It is primarily due to the inability to also adopt the new software engineering discipline. Modern software development approaches require fully automated quality assurance as an integral part of product development. The lack of this automation can lead to regulatory compliance and safety issues, jeopardizing company viability and even human lives. The Boeing 737 Max 8 crashes, which cost hundreds of human lives, were partly caused by the lack of testing for all failure modes.
To address these challenges, automotive manufacturers and their suppliers would need software engineers who also know embedded systems design, not so practical. In the meantime, OEMs are dealing with high warranty costs due to TGW (Things Gone Wrong). The rush to update software on vehicles does not always go as planned due to the inability to test the whole system again, and this is not humanly possible in a short time.
The only way to ensure quality is through automation and integration of system testing in the product development process. But the question remains, “Who will document all the Test Cases, and how will the actual test code be developed?” The answer is not simple. You must acquire experts who not only know embedded software engineering but also understand the traditional software engineering disciplines that inspired the revolution in automotive engineering. The sole focus of these engineers must be the development of testing methodologies that not only ensure quality is built into the product but also allow for automated regression testing when bugs are found.
All this led to the creation of Envision Labs. A team of software and embedded systems engineers with decades of experience in the automotive industry set out to develop a methodology and tooling to tackle this challenge head-on.
Envision Labs' mission is to replace repetitive, human-resource-intensive process of writing test cases with solutions that enable more comprehensive testing of software in a fraction of the time, saving costs and probably lives! We use a creative balance of human and artificial intelligence to achieve this goal.
Envision Labs is not a SaaS solution (at least not for now!). Our approach is to build a partnership with our clients to understand their short- and long-term needs and develop a customized testing ecosystem that results in releasing software with higher confidence in its quality.
Envision Labs conforms to ASPICE and integrates with requirement management systems and test benches that our customers already use. Our system allows clients to review and approve the test cases and test code it generates, transferring the intellectual property into the hands of the customer.
Envision Labs uses secure cloud storage of our clients’ choosing to transfer documents and store generated test code.
Key components of Envision Labs' solution architecture include a user interface for customers, cloud storage (e.g., AWS S3, Google GCS, Microsoft OneDrive), the Test Code Genie, a DevOps pipeline (e.g., Jenkins and Tekton), and a test execution platform (e.g., test benches).
Inputs from customers include System Specifications (e.g., from DOORS, Jama), Test Architecture and Strategy artifacts (if they don’t exist, we work together to develop).
The Envision Labs' Code Genie goes through three steps to generate automated test code. In the first step, it uses the inputs from the customer to generate “Prototype Test Cases,” which are then used by the Envision Labs' Code Genie to produce a “Test Plan” that contains all possible test scenarios. Next, upon review and approval of the Test Plan by the customer, the Envision Labs team creates a “Prototype Function” to train the AI-based model. Finally, once the model is trained, the Envision Labs Code Genie produces executable test code for each of the approved scenarios (possibly thousands).
Execution of the auto-generated test code is the next step. At this point, there are two options: (a) the customer integrates the test execution in their existing DevOps pipeline, or (b) Envision Labs executes the testing on the Test Benches in its lab environment.
Next, the Envision Labs' Results Generator updates the success or failure status of each test case in the Test Plan. Customer can review the results and make decisions. However, in a CI/CD pipeline, defects can be generated and assigned to product team. This will be a level of maturity based on the rate of false-positives. Based on the feedback, Envision Labs team will iteratively improve the “Prototype Functions” and regenerate the test code. This way, an automated, repeatable Testing Ecosystem will be in place to test future software releases by the clients.
Envision Labs' unique methodology, powered by a combination of human expertise and artificial intelligence, accelerates the testing process, delivering higher quality at a fraction of the time and cost. By partnering closely with our clients, we develop tailored testing ecosystems that integrate seamlessly with existing systems, ensuring comprehensive test coverage, regulatory compliance, and continuous improvement.