从网上可以搜索到很多关于单元测试的定义,比如百度百科中就有详细的介绍。而此理论中关于单元测试的内容有:
单元测试是对新的或者更改过的代码模块进行的初步测试。它验证程序或模块的内部逻辑和程序规范。
开始点:单元测试开始在开发阶段,当编码已经完成,单元测试计划已经被有关各方已批准。
结束点:单元测试结束后,所有的测试案例被成功执行,没有严重缺陷1或2。一项行动计划已经被记录在案,以解决还未解决的其他缺陷。
单元测试的作用:单元测试有助于早期识别和修复缺陷,早期消除单元模块的不确定性。
通过测试程序的各个部分,然后再测试其各部分的总和,集成测试就更简单啦。
相关活动:测试计划和测试用例审查,由有关各方批准的基线控制之下;
按计划执行单元测试用例;通过跟踪需求变更来验证测试覆盖面;进行缺陷分析;完成单元测试报告。
单元测试的评估有:代码覆盖率的百分比,符合组编码标准,圈复杂度,行代码,路径,参数,缺陷密度。
集成测试
从网上可以搜索到很多关于集成测试的定义,比如百度百科中有详细的介绍,而此理论中关于集成测试的内容有:
集成测试验证多个已经完成了单元测试的模块的执行。所测试的应用程序通常不连接到系统中的其他应用程序。
子系统模块的通信测试是在一个控制和隔离的环境。
开始点:集成测试开始时,单元测试已经顺利完成,当集成测试计划已经被有关各方已批准,并且在基线控制之下。
结束点:集成测试结束后,所有的测试案例的成功执行,没有严重缺陷1或2。一项行动计划已经被记录在案,以解决所有还未解决的缺陷。
集成测试的作用:集成测试有助于较早的识别和修复中缺陷,降低了成本。它也减轻了系统测试过程中的风险。
相关活动:测试计划和测试用例审查,由有关各方批准的基线控制之下;
按计划执行集成测试用例;通过跟踪需求变更来验证测试覆盖面;进行缺陷分析;完成集成测试报告。
集成测试的评估有:成本和进度偏差,缺陷,生产力,效率和测试覆盖度。
圈复杂度一种代码复杂度的衡量标准,中文名称叫做圈复杂度。
在软件测试的概念里,圈复杂度“用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行 路径条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很 大关系”。
在这套理论中,大多用的是缺陷(defect)一词,认为缺陷(defect)包含的范围大于bug所代表的意思,认为软件一切不足的地方都是 可以当做defect处理,而Bug所代表的内容比defect更少一些。其实现在各个公司有各自的叫法,还有叫issue的,但是意思都是一样的,都是 指软件的不足之处。此套理论的后面部分都是称呼为缺陷(defect)。
以后介绍的各种测试的定义,都是按照图中所展示的那样结构来展示。左上角是一堆相关的测试类型或者测试阶段,第一页的最下面一排是关于这个测试类型中的各种文档,相关的文档并不一定全展示完了。第二页的右上角都涉及到了这个测试阶段或者测试类型所常用到的测试工具。
“参与者”里面详细地介绍了这个测试阶段有哪些测试角色参与,带点的测试角色就被包含在这个测试中,在实际工作中,各个角色之间可以由同一人担 当。这套理论中,测试团队中都有一两个叫“Test architect”的人,测试架构师是团队中的关键人物,类似于系统架构师或者系统分析师,他的作用是参与系统的研发与架构,分析系统与功能模块,找出测试的难点与关键点,决定测试工具环境平台等方面的主意,在技术上主导团队的测试过程。
第二页的右下角有相关的评估方面,这些评估方面就是测试用例设计的依据。
单元测试和集成测试都是由开发人员完成,在写完代码后进行的。单元测试和集成测试都有明确定义的开始点和结束点,并且测试结束的时候都要提供相应的输出。测试开始的时候,测试计划都已经被各方批准了才开始,各方是项目经理、测试经理、开发经理、需求分析负责人甚至是客户或者投资者。当这个阶段的 测试过程中未出现严重性为1和2的defect的时候才能结束此阶段的测试,并且未解决的所有defect都应该被记录下来,并且做好何时解决的计划。一个缺陷被解决得越早,越能节省成本;一个发现的缺陷越到后面才来修复,需要更多的成本。
很多时候,并没有把单元测试和集成测试分开来做,而是一起当做单元测试来进行的。