aspice培训试题(软件测试教程)

软件详细设计在ASPICE中代号是SWE3,处于V模型的左侧;软件测试则包含软件单元测试(SWE4),软件集成测试(SWE5)以及软件合格性测试(SWE6)三部分,处于V模型的右侧。下面我会比较详细地介绍一下各过程域的实施要点和迎审会面对的主要问题。软件详细设计软件详细设计要准备的第一份交付件就是:软件详细设计文档!文档的输入是软件的需求,内容应该涵盖数据结构定义,全局变量和宏定义描述,动态行为描述(任务/中断/需求方案分析等),每个函数的实现(输入/输出/返回/伪码等),详细设计评估(关键性、复杂

大家好,又见面了,我是你们的朋友全栈君。

软件详细设计在ASPICE中代号是SWE3,处于V模型的左侧; 软件测试则包含软件单元测试(SWE4),软件集成测试(SWE5)以及软件合格性测试(SWE6)三部分,处于V模型的右侧。下面我会比较详细地介绍一下各过程域的实施要点和迎审会面对的主要问题。

  1. 软件详细设计
    软件详细设计要准备的第一份交付件就是:软件详细设计文档!文档的输入是软件的需求,内容应该涵盖数据结构定义,全局变量和宏定义描述,动态行为描述(任务/中断/需求方案分析等),每个函数的实现(输入/输出/返回/伪码等),详细设计评估(关键性、复杂性、交互性等维度)。严格意义上来讲,应该是先做好详细设计,再写实际的代码。但是!其实我们是先代码后详设,或者说两者融为一体的,因为人力不够,时间也不够,只能走捷径。需要注意的就是写伪码的时候别写的跟源码一样,别露馅了。对于这一点,其实各OEM应该也心里有数,不会揪着不放。
    在软件详细设计写完并进行了评审之后(评审记录要留好),就可以进行代码相关的一系列动作了。
    首先,写代码的时候就要注意对编程规范的遵循,如果OEM还有KGAS的要求,那就尤其要上心了:代码圈复杂度要小于等于10,嵌套层数不大于4等等。多提一句,KGAS中的编码规范非常苛刻以至于很多都违反人性,比如一个函数只能一个return等,但是这些是可以跟OEM沟通协商的,达成书面协议哪些可以不遵循。
    代码写完的写一个动作是静态代码扫描。一般采用持续集成工具(如Jenkins等)实现自动扫描,在汽车领域一个重要的扫描项就是MISRA C编码规范的扫描。如果有违规的特殊情况,可以进行备注。实际上从静态扫描已经开始属于单元验证部分的内容了,单元验证一般来说包括几个行为:静态代码扫描,代码检视,单元测试,静态代码扫描和代码检视的结果也应该在单元验证报告中体现,但是由于其与代码紧密相关,所以一并叙述。每次静态代码扫描的结果同样需要保存作为“呈堂证供”。
    下一趴,代码检视。单元验证计划里应该有代码检视的checklist,最后需要有代码检视报告。比较easy的一个环节。代码检视完成后,就可以将代码上库了,我们采用的是git管理。
  2. 测试计划
    叫测试计划也行,叫测试策略也中(河南口音)。内容有点多,本文先不写,下次找机会。
  3. 单元测试
    单元测试属于白盒测试,也就是说可以参考代码的。但是KGAS要求设计用例的时候不能看代码!要先黑盒后白盒!就是说测试用例设计的一开始要参照详细设计文档来设计,如果发现有分支或语句覆盖率满足不了,那再来参照代码。说是这么说,做呢…有可能不是这么做哈哈哈,实际上我设计用例的时候都是对着代码设计的。
    再来赘述一句没用的,KGAS要求单元测试用例设计人员与开发人员不能是同一个,用例执行人员和用例设计人员不能是同一个,要交叉。说是这么说,做呢…我就不说了。
    测试用例设计文档要指明每个测试用例使用的设计方法,是等价类,边界值,需求分析还是错误猜测;还有用例的设计人员,用例的预置条件,用例的目的,用例的输入和预期输出。我觉得测试用例设计是让我头最大的一步,主观上相当排斥。
    单元测试用例整体来说设计还是比较简单的,用例数目主要是取决于函数中if语句的数目。单元测试用例评审要重点评一下用例是否设计完整等,最后同样要保留评审记录(别嫌我烦,评审记录真的很重要)。
    用例评审完就开始执行,执行就有可能出错,出错你就惨了哈哈哈。首先要针对错误提单,要解决这个BUG,你得从详细设计开始改,改完详设做评审,改完代码做扫描检视+评审,最后再来一波回归测试,一套组合拳下来,保准你这辈子再也不想发现BUG。你以为这是最惨的吗?不是的,集成测试发现问题才叫惨,那集成测试发现问题是最惨的吗?你又错了,合格性测试发现问题更惨?还有吗?还有吗?系统集成测试,系统合格性测试,一级更比一级惨!总而言之,越往后越惨,要是问题到客户那里、上车了才发现,饭碗可能就丢了。It’s never too late to discover BUGs!
    最后,写单元测试报告,把测试过程,测试时间/活动等进行总结,子过程的结果汇总起来,进行缺陷与遗留问题分析。然后,单元测试报告评审(别忘了保留记录)。

写到这,我已经不想继续敲下去了,因为今天敲够了。测试计划,集成测试与合格性测试,改天吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129389.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vs生成sln文件_VS二进制文件

    vs生成sln文件_VS二进制文件VisualStudio.NET采用两种文件类型(.sln和.suo)来存储特定于解决方案的设置,它们总称为解决方案文件。为解决方案资源管理器提供显示管理文件的图形接口所需的信息,从而在每次继续开发任务时,不会因开发环境而分散精力;*.sln:(VisualStudio.Solution)通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案…

    2022年5月3日
    591
  • R语言作图——density plot(密度图)

    R语言作图——density plot(密度图)原创黄小仙上次分享了小提琴曲线(violinplot)的作图方法,今天小仙同学给大家介绍一下如何用R画出漂亮的密度图(densityplot)。Step1.绘图数据的准备首先还是要把你想要绘图的数据调整成R语言可以识别的格式excel中保存成csv格式。数据的格式如下图:一列表示一种变量,第一行是列名Step2.绘图数据的读取data<-read.csv(“your…

    2022年10月16日
    3
  • CNN做时间序列预测_lstm时间序列预测_2「建议收藏」

    此数据是1949到1960一共12年,每年12个月的航班乘客数据,一共144个数据,单位是1000。我们使用它来进行LSTM时间序列预测的实验。数据如图所示第一列为时间第二列为数据编写代码头文件importnumpyimportmatplotlib.pyplotaspltfromkeras.modelsimportSequentialfromkeras….

    2022年4月8日
    175
  • Spark快速入门系列(三)深入理解RDD

    Spark快速入门系列(三)深入理解RDD这里写目录标题深入RDD二级目录三级目录深入RDD目标深入理解RDD的内在逻辑,以及RDD的内部属性(RDD由什么组成)案例需求给定一个网站的访问记录,俗称Accesslog计算其中出现的独立IP,以及其访问的次数二级目录三级目录…

    2022年7月26日
    10
  • c语言switch例题注释,switch语句例子大全 C语言switch语句例题

    c语言switch例题注释,switch语句例子大全 C语言switch语句例题CSS布局HTML小编今天和大家分享一个switch语句的例子matlab中switch语句的用法例子matlab中switch语句看了好几本教材上的例子都未看懂核心,不知谁能提供if-else-end语句所对应的是多重判断选择,而有时也会遇到多分支判断选择的问题。MATLAB语言为解决多分支判断选择提供了switch-case语句。switch-case语句的一般表达形式为:switch〈…

    2022年10月21日
    2
  • 狂神说Linux_狂神说博客园

    狂神说Linux_狂神说博客园Linux在服务器端,很多大型项目都是部署在Linux服务器上利用VM + Centos7搭建本地Linux系统你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。概念云服务器就是一个远程电脑Linux中一切皆文件根目录/,所有的文件都挂载在这个节点下/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev : dev是Device(设备

    2022年8月9日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号