《基于模型的测试实践:自动化生成测试用例并提高开源软件组件的覆盖率.pdf》由会员分享,可在线阅读,更多相关《基于模型的测试实践:自动化生成测试用例并提高开源软件组件的覆盖率.pdf(17页珍藏版)》请在三个皮匠报告上搜索。
1、Model-Based Testing in Action:Automating Test Generation and Boosting Coverage for Open-Source Software ComponentsModel-Based Testing in Action:Automating Test Generation and Boosting Coverage for Open-Source Software ComponentsMengqi Liu(Alibaba Cloud)Shenglin Zhu(Alibaba Cloud)TEST&VALIDATIONThe r
2、eliability of open-source software components is of foundational importanceCommon:integration test&system testInsufficient:unit testChallenge 1:labor-intensiveChallenge 2:inadequate coverageConsequences:undetected vulnerabilities,difficulties in bug localization,etc.Motivating Comprehensive Unit Tes
3、tsChallenges with manual unit test developmentInadequate coverageCombinations of states,input arguments,interaction sequences,etc.Experience:a big portion of integration bugs could have been prevented by thorough unit testsLabor intensiveAdaptations required by code evolutionsExperience:testing cost
4、s more human-months than developmentExample:Extending Open-Source Routing SWOur goal:improve the overall approaches of UThttps:/ for Segment Routing over IPv6Maintain formal models vs.test casesBetter developer efficiencyAutomatically generate test cases from the modelBetter behavior coverageAutomat
5、ic adaptations as code&model evolveOur Approaches:Model-Based TestingManual approachesInsufficient coverage;labor-intensiveModel-based testing(Gray-box)Developers only maintain a high-level model;less effort than the code itselfAutomatic test case generation:inputs+expected outputs;guaranteed behavi
6、or coverage through systematic explorationModel-Based Testing:OverviewExample:SRv6 Control Plane SoftwareC implementationLow-level pointers,type casting,etc.Performance drivenModel codeSubset of C statesHigh-level structures:list,map,etc.Functionality drivendataclassclass ZebraState:policies:listPol