Porsche Connect links drivers and vehicles with the mobile internet. Intelligent apps, functions and services enhance the individual benefits of all Porsche models. At the core of Connect are more than 20 services and apps for navigation and infotainment as well as the querying and control of vehicle functions. Almost all can be easily purchased and set up via the internet. Porsche Connect encompasses numerous different components. The central components are the vehicle itself, with its connected control devices, and the vehicle’s own mobile communication interface. The interface sends vehicle data via a group-developed air interface to the group’s centralized modular backend system (MBB), which stores the data for later use, for example in the customer’s app, and returns any commands to the vehicle. The backend, in turn, is connected to various cloud services that provide information for display in the vehicle. The customer’s terminal device, such as a smartphone with the Porsche Connect app, communicates directly with the vehicle’s infotainment system.
Porsche e-hybrid models, for example, already offer access to the engine-independent heating system and the possibility of programming a charging timer via internet or mobile connections. Future generations of hybrid and electric vehicles from Porsche will benefit even more from connectivity. The intelligent home energy management systems and charging stations for users’ electric vehicles will be conveniently configured and controlled from one’s living room. Using Porsche Connect, in the future it will be possible to prepare drives with an electric vehicle in optimal fashion, reducing travel time to a minimum by utilizing range information, predictive traffic information and information regarding rapid charging stations along the route. Yet the increasingly complex interweaving of physical and digital functions also leads to a collision of drastically divergent speeds in the development process—which requires a re-thinking of the entire value chain from the concept to the delivery of the finished vehicle.
With an average duration of four years, the development time for vehicles ranges somewhere between that of smart home systems on the one hand and the extremely fast-paced mobile phone sector on the other. While the most widespread home automation and networking systems have usually been in service for over 16 years, the life cycle for smartphones and tablets is just around one to two years. The only thing more rapidly developed and enhanced is smartphone apps. The requirements for the design and scope of functions of the apps are sometimes redefined by the market multiple times per year.
So while the hardware in the vehicle at the moment when production begins may be at a different stage of development, the vehicle software used in it and the connected IT systems, with their frontends of apps and portals, always need to be absolutely up-to-the-minute. Then there is the demand for updateable functions in the vehicle in consideration of privacy and IT security concerns. The development of a vehicle therefore no longer ends with the start of production. As the components outside of the vehicle—such as the smartphone app communicating with the vehicle—are continuously being further developed, new requirements are likewise continuously being placed on vehicle development function testing as well.
Conventional development processes and methods have to be adapted and expanded to ensure compliance with customer requirements and expectations, as well as industry specifications. For such a complex interplay to succeed, the use of the new software tools is indispensable. Establishing a test automation apparatus for validating the proper functioning of the vehicle and IT components in the early phase of the project lays the foundation for the regressive test cycles down the line. Moreover, this also makes it possible to largely compensate for the various development and life cycles.
The method of end-to-end regression tests serves as an efficient and useful variant for the functional and non-functional validation of connected services. The focus of this quality assurance procedure is on the entire chain extending from the vehicle via a backend to various user interfaces such as a browser-based customer portal or a smartphone app. The prerequisite for automated tests of services via their connected systems are procedures that enable interactions with all components without manual assistance. The integration of a web-based user interface is achieved by expanding the previous test infrastructure and environment. This makes it possible to define functions in the test environment that operate the interface in an automated process.
The automation of user interfaces involves developments that need to be specifically adapted to the visualizations. The first step in that process is to generate samples that describe user behavior for a defined service function. In complex cases, this sample can be mapped using an activity diagram. Once the user behavior has been recorded, implementation follows. This requires the unique identification of every web element with which interactions via the interface take place. This can be a button that is pressed, or a text field into which a string of characters it supposed to be entered.
Changes to the web-based visualization can therefore also necessitate changes to the automation. Here, things hinge on the development of a stable solution that still uniquely identifies and operates elements even when the user interface is changed. Thus an automated test cycle can be used to check whether the changes lead to adverse impacts on the maturity of the service. The creation of a plateau plug-in is ideal for the integration of the solution in the test environment. The middleware architecture of this plug-in enables remote activation of the website automation. The option of using plateau plug-ins emerges from the establishment of a centralized solution for test benches in the connected car field. The execution of the website automation runs on an independent device in the Porsche network on the basis of the Selenium framework. Also, a detailed log is generated by the server solution.
New websites or new content on existing websites can be integrated via an extension interface. The operations of the additional interface are implemented for every automation and then dynamically accessed by the server. The access concept and the use of centralized databases allow the simple connection of new websites to be automated. The system also offers a means of automating multiple websites in parallel that can be scaled to the number of test benches.
The rapidly expanding scope of functionality in the area of vehicle connectivity and the concomitant rise in the need for testing in turn require ever more test benches. Through the integration of the server, this concept offers the possibility of conducting simultaneous automation of multiple websites and thus productive testing. The use of centralized databases that enable a reaction to changes without recompiling the automations ensures the desired adaptability. The use of proven technologies, meanwhile, secures the long-term stability of the service. This requirement is relevant, particularly in the field of automated testing, as operations frequently need to be maintained without interruption for many hours. The extensive logging also provides a wealth of information about the process of each automation. This information can be used to analyze the results and provide the degree of detail required to trace the actions of the executed processes. Among other things, screenshots that capture the contents of a website in the event of erroneous behavior support error analysis.
In addition to this solution for website automation, Porsche engineers also continue to use a comparable concept for contacting mobile devices. The concept is based on a web server that communicates through a REST API (Representational State Transfer Application Programming Interface) and has implemented the WebDriver interface. The implementation of the WebDriver interface is based on the one from Selenium, which is also used for website automation. The Selenium implementation has been enhanced for use on smartphones. The web server receives commands from a client that contain defined user interactions. Depending on the respective smartphone’s platform, the commands are executed by UIAutomator (Google) or UIAutomation (Apple). The results are then sent back to the client as HTTP responses.
These productive procedures create a basis for automated regressive testing of newly developed services—for instance networked charging control—in a manner that is as close to the customer experience as possible, thus saving valuable development time.
Development processes will also have to adapt to new requirements. Among other things, this means stronger networking of various portfolios such as development, IT and sales, particularly with regard to coordinating the relevant development and validation activities. As has already been said, the development of these networked systems no longer ends when the vehicle goes into production, but is a continuous process.
Text first published in the Porsche Engineering Magazin 1/2017.
Text by Jochen Spiegel, Stefan Jockisch and Thomas Pretsch