常规测试主要包含以下方面:
(1)UI测试
用户界面测试,英文是User interface testing。又称UI测试
用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等
目标: 确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览 功能。 确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易 操作性等测试
(2)业务测试
主要是针对需求文档进行测试----这部分最后确定方为产品经理
(3)兼容性测试
兼容测试是测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。向上兼容向下兼容,软件兼容硬件兼容。软件的兼容性有很多需要考虑的地方。
不同浏览器中(Chrome,火狐,qq,搜狗,IE不同版本...)的兼容性,安卓和ios的兼容性
ios系统系统验证ios7~9系统,屏幕大小包含3.5寸~5.5寸 Android系统,系统要求验证android 4.0(含)以上,屏幕大小包含4寸及以上
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。通俗的讲就是把我们测试系统的操作步骤用按照一定的格式用文字描述出来。
测试用例的写法:
1.等价类划分
在某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等价的。假如有一个输入框要求输入1-10000个数,我们不可能每个数字都试,这个时候我们可以随机的抽取一些数据来进行验证。
等价类分为有效等价类和无效等价类,在上面的例子中有效等价类指的是1-10000之间的数,无效等价类指的不在这个范围的数字以及字母符号等。
⑴划分等价类。
①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
⑵确定测试用例。
①为每一个等价类编号。
②设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。
③设计一个测试用例,使其只覆盖一个不合理等价类。
2.边界值
边界值是对等价类的补充,测试工作经验告诉我们,大量的错误是出在输入输出的边界价上。还是上面的例子,要测有没有超出范围,如0、-1、-2、10001等等,来判定是否超出了我们的范围。
使用边界值分析方法设计测试用例时一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。
⑴如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的范围是[1,100],可取0,1,100,101等值作为测试数据。
⑵如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。如,一个输入文件可包括1--255个记录,则分别设计有1个记录、255个记录,以及0个记录的输入文件的测试用例。
⑶对每个输出条件分别按照以上原则⑴或⑵确定输出值的边界情况。如,一个学生成绩管理系统规定,只能查询95--98级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合理输出等价类)。
由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。
⑷如果程序的规格说明给出的输入或输出域是个有序集合(如顺序文件、线形表、链表等),则应选取集合的第一个元素和最后一个元素作为测试用例。
3.因果图
因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。举个例子,原因: A=0,B=0,结果就可以判定A=B,确切的说他是一种因果关系思想,它会无形中指导着我们的测试。当然了,我们为了避免遗漏,可以把系统中因果关系用图画出,不过系统大就很难了。
4.错误推测法
基于经验和直觉推测出系统可能存在的错误,从而有针对性的设计测试用例的办法。
5.其它
设计测试用例的方法有很多,我们常用的就上面几种,其它的方法还有:状态迁移图、流程分析法、正交验证法等等。
每种方法都能设计出一组有用例子,用这组例子容易发现某种类型的错误,但可能不易发现另一类型的错误。因此在实际测试中,联合使用各种测试方法,形成综合策略,通常先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例。
以上为黑盒技术,下面介绍白盒技术:
白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基础设计测试用例。
1.逻辑覆盖
程序内部的逻辑覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设计使覆盖程度较高的或覆盖最有代表性的路径的测试用例。
(1)语句覆盖
为了提高发现错误的可能性,在测试时应该执行到程序中的每一个语句。语句覆盖是指设计足够的测试用例,使被测试程序中每个语句至少执行一次。
(2)判定覆盖
判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖也称分支覆盖。
(3)条件覆盖
条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。
(4)判定条件覆盖
该覆盖标准指设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
(5)条件组合覆盖
条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。
(6)路径覆盖
路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径。
在实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准
2.循环覆盖
3.基本路径测试
测试用例的格式与要素
一个测试用例应该包括:编号、标题、测试场景、测试步骤、预期结果
当然还可加入一些其它选项:优先级、测试阶段。。