当前位置:网站首页>Continuous test (CT) practical experience sharing
Continuous test (CT) practical experience sharing
2022-07-07 18:49:00 【Polink beihui information】
List of articles
Preface
The traditional automobile industry is developing in the direction of Internet automobile
In the automotive industry “ New four modernizations ” Driven by the trend , Traditional distributed EE The architecture is developing towards domain centralized architecture , With the introduction of the concept of domain controller , The software will also be classified and integrated according to the corresponding functional domain , The amount of domain controller code is also increasing .SOA The development mode realizes the decoupling between the software function modules , Help the software team shorten the development cycle , Fast iteration software version .OTA The upgrade technology rapidly deploys the software to each domain controller , Provide guarantee for rapid iteration of software products . With the change of development mode , Iterative testing becomes short and frequent , Continuous testing will provide rapid quality assurance for software products .
What is continuous testing ?
Continuous testing comes from DevOps(Development and Operations) It is advocated in the book CI( Continuous integration )- CO( Continuous deployment ) - CT( Keep testing )- CD( Continuous delivery ), Through process and continuous integration / Continuous testing tool platform , automation “ Software delivery ”, Make build 、 test 、 Faster release of software 、 Frequent and reliable .
Why does the automotive industry need continuous testing ?
In the traditional automobile software development model , Testing methods include manual testing and automation after writing test scripts manually / Semi automated testing . It is characterized by “ people ” Centered , Repetitive manual testing by test engineers 、 Constantly update test scripts or configurations 、 Record test problems and test status tracking . Test cycle and quality , Depends on the number of test engineers 、 Experience, ability and number of tools .
The method of continuous testing takes people 、 Testing process 、 Combination of testing tools , Through the combination of a series of test tool chains and automated test engineering , The test process begins when the new version of the software is submitted , Quickly find software defects , Solve the contradiction between testing and development in time , Help the software development team achieve the goal of software product speed and quality .
This article will focus on continuous testing , Share based on Jenkins and Vector Practical experience of software and hardware implementation .
Introduction to test scheme
System framework
The main function
Test process management
- Test project management module 、 Test requirements management module 、 Test case management module 、 Test task management module 、 Test defect management module 、 Test report management module 、 Remote device management module
Continuously verify the scheduling management
- Test object 、 Test equipment scheduling management 、 Code version library call management 、 Test process construction and implementation
IDL Script conversion tool integration
- Generate test script through test data file
The test script / Test data version control management
- be based on GitLab/SVN Or self built database management test script / Test data , Build an effective knowledge base
Data flow engine driven test data analysis
- Analyze based on test data , Get test results
The test report engine automatically tests reports
- Generate customized test reports based on test data analysis results
Case introduction
be based on Jenkins and Vector Tool implementation CAN/CANFD/LIN/FlexRay/ETH Network and diagnostic testing .
The core of continuous testing is to automatically 、 Intelligently organize , And provide status query 、 Notification and other services , The implementation steps are as follows :
- test plan : Establish the corresponding test plan according to the software version submitted by the developer
- Test environment construction : The test tool chain is connected with the test object , Meet the requirements of the test environment
- Update test cases : Establish a test case library corresponding to the software version , And version management , Facilitate regression testing
- The test triggers : Monitor developer submission status , The end of submission is the beginning of the test , use Jenkins Manage the process of test execution
- Test sample / Equipment management : Automatic slave test sample / Select the environment in which the test can be executed in the device library , Improve the utilization of testing resources
- Automated test case scripts : According to standardized test cases and databases , Automatically generate testable projects
- Data acquisition and analysis : Use automated test engineering instead of test engineers to perform tests manually , Both shorten the test cycle , It also avoids the problems of false detection and missing detection caused by manual testing ; Analyze the test data , Automatically generate test reports and test problems , Avoid the repetitive work of test engineers to manually enter test problems
- Test report version management : The test case 、 Test Engineering 、 Test report 、 The test data corresponds to the software version , It is convenient to trace and locate test problems
The following will be prepared from the test 、 The test triggers 、 The steps of setting up a test environment are introduced in detail from three aspects: test execution and test problem recording .
Test preparation
The test preparation process configures various tools that need to be used in the test execution , It includes the following process :
- Test plan establishment : Use beihui self research PAVELINK perhaps JIRA Wait for the test management software to establish a test plan , Contains the test software version information , Test case library , Test responsible person, etc
- Update test cases : Establish a test case library according to the newly released software version , Use GitLab/SVN Version management
- Test sample / Equipment management : Manage test samples / Equipment status and test progress
- Test environment construction : Test equipment and test samples for test environment debugging , To support automated testing . Use of test tools Vector Bus interface devices and CANoe Software
- Jenkins Test process management : To configure Jenkins Job, Manage the process of test execution
The test triggers
The automated test process passed Jenkins Job Configuration management .Jenkins Job Can be manually 、 timing 、 monitor GitLab/SVN Version or by Jenkins API Trigger call, etc . This program monitors and tests the software version of the sample , After the software is upgraded to the specified version , Use Jenkins API The scheduling mode triggers the start of the test process .
Test execution and test problem record
Jenkins Job Define a test process , Include the generation of automated test scripts 、 The test execution 、 Test question record .
Automated test script generation : Generate test scripts by parsing database files
- The test execution : adopt CANoe Software COM The method of interface call realizes the choice of test case Engineering 、 The test execution 、 Read back test data and test results
- Test question record : The test results read back are automatically uploaded to the test problem management system , Use beihui self-developed PAVELINK Test results of platform update test cases , Upload test data and create new test questions
- Jenkins With email sending function , At the end of the test execution , The test results and other information can be sent to the relevant responsible person by email .
Continuous testing is not equivalent to automated testing , Continuously test a series of processes , Include automated testing , Automated testing is a key step in continuous testing . By combining with software development iteration in the process , Quickly find software defects .
At the end
Using continuous testing can solve the problem of long manual testing cycle , Improved testing efficiency , Improve the productivity of testers . At the same time, control the test output and software development version , Meet the requirements of forward development and test management .
Continuous testing as a tool to improve testing efficiency , It does bring “ One button ” Work experience of hosting and executing tests . But as a tool , Continuous testing cannot meet all test scenarios . First , Continuous testing requires executable test cases to be automated , If you need to manually input parameters or change the test environment during the test , It is difficult to achieve the effect of improving the efficiency of testing . secondly , The test script can be generated automatically or the test script does not need to be modified , Facing the software products of each iteration , Writing or modifying test projects manually will also bring heavy workload to testers .
There are many and complex tool chains used in continuous testing , The overall stability of the test system needs special attention . Therefore, whether to conduct continuous testing needs to analyze the test scenario first , Nor can we abandon the accuracy of testing in order to pursue sustainability .
Beihui information follows the market trend , I have also accumulated a lot of experience in continuous testing , In addition to based on Jenkins Continuous testing program , Beihui information also self researched based on CANoe Software test management tools , Looking forward to communicating with colleagues in the industry .
reference
【1】 Talk about cars OTA test : An overview
【2】 SOA framework / Test phase interface description language conversion scheme
【3】 White paper on the development of automotive basic software in China 2.0
【4】 Jenkins Authoritative guide
author : Beihui information - Crazy Pipi
边栏推荐
- AntiSamy:防 XSS 攻击的一种解决方案使用教程
- CVPR 2022 - learning non target knowledge for semantic segmentation of small samples
- 体总:安全有序恢复线下体育赛事,力争做到国内赛事应办尽办
- Learn to make dynamic line chart in 3 minutes!
- 直播预约通道开启!解锁音视频应用快速上线的秘诀
- 清华、剑桥、UIC联合推出首个中文事实核查数据集:基于证据、涵盖医疗社会等多个领域
- 现在网上期货开户安全吗?国内有多少家正规的期货公司?
- Hutool - 轻量级 DB 操作解决方案
- Standard ACL and extended ACL
- Redis
猜你喜欢
Thread pool and singleton mode and file operation
Simple configuration of single arm routing and layer 3 switching
More than 10000 units were offline within ten days of listing, and the strength of Auchan Z6 products was highly praised
保证接口数据安全的10种方案
The highest level of anonymity in C language
企业展厅设计中常用的三种多媒体技术形式
Standard ACL and extended ACL
Datasimba launched wechat applet, and datanuza accepted the test of the whole scene| StartDT Hackathon
Win11C盘满了怎么清理?Win11清理C盘的方法
Kirk Borne的本周学习资源精选【点击标题直接下载】
随机推荐
Backup Alibaba cloud instance OSS browser
“解密”华为机器视觉军团:华为向上,产业向前
Simple configuration of single arm routing and layer 3 switching
Kirk borne's selection of learning resources this week [click the title to download directly]
体总:安全有序恢复线下体育赛事,力争做到国内赛事应办尽办
【demo】循环队列及条件锁实现goroutine间的通信
五种网络IO模型
Introduction de l'API commune de programmation de socket et mise en œuvre de socket, select, Poll et epoll
[tpm2.0 principle and Application guide] Chapter 5, 7 and 8
[论文分享] Where’s Crypto?
[demo] circular queue and conditional lock realize the communication between goroutines
2022年理财产品的一般收益率是多少?
Reinforcement learning - learning notes 8 | Q-learning
[network attack and defense principle and technology] Chapter 4: network scanning technology
行业案例|数字化经营底座助力寿险行业转型
Hutool - 轻量级 DB 操作解决方案
go语言的字符串类型、常量类型和容器类型
备份阿里云实例-oss-browser
上市十天就下线过万台,欧尚Z6产品实力备受点赞
磁盘存储链式的B树与B+树