发表于: 2018-03-23 22:35:29
1 1037
今天完成的事情:测试的分类,了解测试的含义
明天的计划:了解敏捷测试,性能测试
遇到的问题:黑盒测试设计方法中的 状态迁移图法,以前在其他视频教学里没听过,不太明白什么意思
最近在写测试用例,逻辑思维不太好,需要多锻炼一下了
收获:
1、软件测试的分类:
黑、白盒测试/静、动态测试/手工、自动化测试
黑盒测试:不考虑内部结构和内部特性下,检查功能是否按照需求进行输出
优点:1)容易实施,不需要关注内部的实现 2)更贴近用户的使用角度
缺点:1)测试覆盖率低,一般只能覆盖到代码量的不到40% 2)针对黑盒的自动化测试,复用率低,维护成本较高
白盒测试:要了解系统内部逻辑和结构,根据程序的结构来设计测试用例,用逻辑的覆盖率来衡量测试的完整性
逻辑单位:语句、条件、条件组合、分支、路径
优点:1)迫使测试人员去仔细思考软件的实现,理解原理 2)可以检测代码中的每条分支和路径
3)揭示隐藏在代码中的错误 4)对代码的测试比较彻底
缺点:1)昂贵(需要较高的覆盖率,工作量大) 2)无法检测代码中遗漏的路径和数据敏感性错误 3)不能直接验证需求的正确性
测试方法:代码检测法、静态结构分析法、静态质量度量法(IOS等质量指标)、逻辑覆盖法、基本路径测试法
灰盒测试:介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现
静态测试:静态测试是指无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率;
动态测试:动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
手工测试:由专门的测试人员从用户的视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。
优点:易发现缺陷、容易实施、创造性、灵活性高
缺点:覆盖化难、重复测试效率低、不一致性可靠性低、人力资源依赖
自动化测试:适用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查(单元测试、接口测试、性能测试等)
优点:高效率、速度快、高复用性、覆盖率容易度量、准确、可靠、不知疲劳
缺点:机械发现缺陷率低、一次性投入较大
评论