发表于: 2018-06-11 21:36:04
2 703
今天完成的事:
写了官网的登录页面用例
提交任务一,预习任务二
明天计划的事:
了解一些理论
做任务二
遇到的问题:
暂时没有
收获:
1.在写测试用例之前首先要先了解需求
2.然后把测试点分门别类
3.进行测试点描述
4.整理测试步骤和测试数据
5.整理预期结果
关于软件测试的分类:
按手段:
根据对象的可见度分为:黑盒测试、白盒测试
根据状态分为:静态测试、动态测试
根据执行方式分为:手工测试、自动化测试
黑盒测试:
只检查程序的功能是否能够按照需求规格的规定正常使用,是否能接受正常的输入数据并产生正常的输出信息
根据用户需求和不同的数据、时间驱动系统,通过输出结果进行判断
黑盒测试的优点:
1.容易实施,不需要关注内部的实现
2.更贴近用户的使用角度
黑盒测试的缺点:
1.测试覆盖率低,一般只能覆盖到代码的不到40%
2.针对黑河的自动化测试,复用率较低,维护成本较高
黑盒测试主要测试什么?(主要关注的)
1.是否有不正确或者遗漏的功能?
2.在接口上,输入是否能正确的接受?能否输出正确的结果?
3.是否有数据结构错误或外部信息(例如数据文件)访问错误?
4.性能上是否能够满足要求?
黑盒测试的主要设计方法:
等价类划分法:(概念)把所有等价的输入归到一类,最后形成若干典型的输入,根据这些输的数据来进行测试用例的设计
边界值分析法:(特殊的等价类)
错误推测法:基于经验和自觉判断出可能出现错误的地方,从而设计测试用例的方法
因果图法:根据需求规格说明书,针对每一种输入和输出看做是因果,对输入和输出做出标识符,针对这些做出的因果图,
最后根据规格说明形成一个判定表,根据判定表来编写测试用例
正交试验分析法:通过正交性从一组数据中挑选出具有代表性的数据的设计方法
状态迁移图法:通过梳理状态功能里边的迁移关系来设计测试用例
流程分析法:通过梳理逻辑执行的路径来设计测试用例
白盒测试
主要是检查程序的内部结构、逻辑、循环和路径
又称为结构化测试和透明化测试
针对程序的逻辑结构来设计测试用例
主要逻辑単位:(不同的単位有不同的覆盖方法)
语句 、条件、条件组合、分支、路径
语句覆盖:就是保证每隔语句至少都可以执行一次
判定覆盖:保证每条分支语句都能执行一次
条件覆盖:覆盖到条件的表达式,所有的表达式都至少计算一次
判定和条件的组合覆盖:覆盖所有不同条件的组合情况
路径覆盖:成语中每一条可能的路径至少执行一次
白盒测试优点:
1.迫使测试人员去仔细思考软件的实现,理解原理
2.可以检测代码中的每条分支和路径
3.揭示隐藏在代码中的错误
4.对待吗的测试比较彻底
白盒测试的缺点:
1.昂贵(做到较高的覆盖率)
2.无法检测代码中遗漏的路径和数据敏感错误
3.不能直接验证需求的正确性
白盒测试的主要方法:
代码检测法:多面检查、代码审查和走查。主要是检查代码和设计的一致性
静态结构分析法:通过使用测试工具来分析源代码的系统结构、数据结构和内部控制逻辑,通过内部逻辑进行设计测试用例
静态质量度量法:根据标准的质量模型,构造质量的质量模型
逻辑覆盖法:
覆盖标准:
1.语句覆盖每条语句至少执行一次。
2.判定覆盖每个判定的每个分支至少执行一次。
3.条件覆盖每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖同时满足判定覆盖条件覆盖。
5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖使程序中每一条可能的路径至少执行一次。
基本路径测试法:在程序控制流图的基础上通过分析控制构造的圈复杂度到处基本可执行路径的结合进而设置测试用例的方法
覆盖方法:
逻辑覆盖(包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖):
灰盒测试
介于黑、白盒测试之前的,关注输出对于输入的正确性,同时也关注内部表现
静态测试:
定义:
静态测试的指无需执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率
静态注册的方式:
互审:程序员相互检查对方的代码
走查:集体走查程序或者文档
会议:召开正式的会议对输入和输出文档做出相应的记录
动态测试:
定义:通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等
手工测试:
有专门的的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试
(众包测试、探索式测试都是用手工测试来实现的)
自动化测试:
使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查
(单元测试、接口测试。性能测试利用自动化测试这种手段来完成)
手工测试vs自动化测试
手工测试:
优点:
1.易发现缺陷
2.容易实施
3.创造性、灵活性
缺点:
1.覆盖量化难
2.重复测试效率低
3.不一致性、可靠性低
4.人力资源依赖
自动化测试:
优点:
1.高线率、速度快
2.高复用性
3.覆盖率容易度量
4.准确、可靠
5.不知疲劳
缺点:
1.机械、发现缺陷率低
2.一次性投入较大
评论