一、 v模型
开发和测试阶段划分比较清晰;
需求分析、概要设计、详细设计、编码、单元测试(独立的模块测试)、集成测试(模块联调)、系统测试(整体流程)、验收测试(验证是否满足需求)
优点:包含了底层测试(单元测试)和高层测试(系统测试);阶段划分清晰,方便工作的整体把控
缺点:测试阶段比较靠后,之前的的问题已经产生,修改不方便;v模型就是瀑布模型的变种,如果需求发生变化,必然要返工!
二、 w模型(双v模型)
开发一个v,测试一个v,开发和测试并行;
1、 开发v(需求分析、概要设计、详细设计、编码、集成、实施、交付)
2、 测试v(系统测试设计、集成测试设计、单元测试设计、单元测试、集成测试、系统测试、验收测试)
优点:开发伴随着测试并行,需求和设计一样要进行测试;尽早的介入测试,会更早的发现问题,降低修复成本;阶段依然明显,方便整体流程把控
缺点:代码依然在测试之前,不方便代码的测试工作;如果没有文档,根本无法进行w模型;对于测试人员要求较高,需要有足够的测试经验!
三、软件测试分类
1、按阶段分类
1)、单元测试(模块测试)
2)、集成测试(组装测试)
3)、系统测试(功能、性能、兼容性)
2、按是否查看源代码分类
1)、白盒测试(查看源代码结构)
2)、黑盒测试(不看源代码)
(1)功能测试:逻辑、界面、易用性、安装、兼容性
(2)性能测试:时间性能,空间性能,一般性能、稳定性、负载、压力
3、按是否运行程序分类
1)、静态测试(看文档、看代码、不运行程序)
2)、动态测试(实际运行代码)
4、按照自动化分类
1、人工测试 2、自动化测试
5、其他分类
1)、回归测试
2)、冒烟测试(整体测流程,没问题才能测后面的)
3)、随机测试(测试重点模块或之前出过问题的模块)
4)、验收测试:
(1)内测版本(alpha),内部人员测试,或者有很少一部分用户;此阶段要解决严重的问题
(2)公测版本(beta),所有用户都可以免费使用,通过用户的反馈修复软件的细节
(3)准正式版(gamma),跟正式版几乎一样
四、等价类划分法
把无法穷举的数据分类书写
步骤:
1、 按照需求写出有效等价类
2、 根据需求取反,写出一部分无效等价类
3、 找到特殊情况的无效等价类(中文、英文、空格、空、符号、小数; 根据需求来选择)
等价类划分总结,划分时需要考虑的方面:
1、长度;2、组合规则;3、输入类型;4、是否为空;5、是否区分大小写(根据需求来定,一般大小写都会区分);6、空格问题(程序中文字的最前和最后部分的空格,程序员喜欢清除,文字中间的空格会保留);7、和谐词,敏感词,保留字符库(在登录名,昵称测试要注意,密码不管)
*术语:两行文字之间的间距——行高
五、边界值与等价类
通过等价类思想可以找到有效和无效的内容,再通过边界值思想把测试用例具体化;边界值是配合等价类思想使用的;
边界值:比边界大一点、和小一点的值都要测试到位;例如[1,10],要把0,1,2,还有9,10,11都要测到位
*Axure产品经理用来做流程图的软件
六、常用逻辑
1、恒等 若有原因就有结果 若没有原因就没有结果
2、非 若有原因没结果 若没原因就有结果
3、或 条件只要有一个是真的,结果就是真的,都是假的,结果才是假
4、与(且) 条件必须都是真,结果才是真,只要有一个是假,结果就是假
七、测试案例的书写方法 —— 测什么,怎么测
-细节测试:
1、等价类边界值法
-大体流程测试:
2、有因果时,要用因果图制作判定表的方法
用因果图的思想来辅助写测试用例
步骤:
1)、 找到所有的条件桩(输入条件)和动作桩(预期结果),把具体的条件项(所有输入的条件)和动作项(所有输出的条件)填写进去
2)、 得到初始表格后,根据实际需求进行简化(简化指可以合并一些列,使用”-”来代表此选项,选择任意结果都不会影响最后结论,建议尽量不要做简化这一步!!)。
3、场景法
模拟用户操作软件时的场景,主要用于测试系统的业务流程(这是冒烟测试,看大体流程,所以冒烟测试时主要用到场景法写测试用例)
基本流:正确的业务流程
备选流:有问题的业务流程
测试用例的书写:只需要把需求文档的每一条当作一个测试用例即可
4、流程法
测试用例必须包含所有的分支条件,每一个分支条件就是一条测试用例!(有分支条件就流程法,没有就场景法就可以了)
5、错误推断法
应用场景1:当时间紧任务急的时候,测试时间较少,可以考虑使用错误推断法来设计测试用例
根据测试人员以往项目的经验来设计;
应用场景2:已经经过了几轮测试后,这时候也可以使用推断法进行测试用例的补充
6、正交表
当要测试的内容,需要排列组合的情况非常多的时候,我们要考虑使用科学的方法来减少测试用例的个数,这个方法就是正交表!
特点:均匀分散、齐整可比(所有情况都应该均匀的被测试过一次)
1)如何查询正交表:
因素:控件的个数
水平:控件里面的可选项个数
(1)、 先确定几因素,几水平
(2)、 在“常用正交表”中找到合适的表格
(3)、 复制找到的表格到我们自己的表格中
(4)、 自己再写一个对照表(所有的控件和对应的选项列出来)
(5)、 把复制过来的表格和对照表实现映射关系,就可以得到最终的正交表(测试用例)
注意:如果没有找到合适的正交表,要在表格中找到多一些行的正交表选用即可,只需要把多余的内容删除。
2)、正交设计助手软件使用步骤 —— 标准正交表
(1)、
(2)、
(3)、
(4)、
3)allpairs混合正交工具使用步骤 —— 混合正交表
如果在工作中找不到正常的正交表,就要使用混合正交表来实现测试用例的书写;
使用场景:正常正交表使用(正交设计助手—方便);混合正交表(allpairs可以制作正常正交表,也可以做混合的,但是不方便~~)
(1)、使用Excel制作对照表(不要写编号)
(2)、复制表格中的所有数据放在一个txt文本中(格式千万别动)
(3)、把此txt文档放在allpairs文件夹中
(4)、Win+R输入cmd打开命令行窗口
(5)、找到工具所在的文件夹(盘符: cd具体文件夹路径)
(6)、allpairs.exeren.txt>ren_chenggong.txt 输入此行代码即可(ren.txt就是我们复制过来的文本文件;ren_chenggong.txt存放的就是最终结果,不用事先建立好)
(7)、找到最终建立好的txt文件,打开后,复制第一大段内容到Excel表格中(如果遇到”-”或者”~”代表此选项随意选择,我们根据齐整可比理论,均匀选择即可)
八、软件缺陷
— 软件缺陷的状态
1、提交 (缺陷刚刚提交到系统上)
2、打开 (此缺陷正在被修改中,等待处理)
3、拒绝 (程序员认为此问题不修改)
4、修复 (程序员修改了代码 又提交后的状态 测试人员必须进行回归测试)
5、关闭 (回归测试后 确认没有问题)
6、推迟 (此问题放在后续版本解决,经理开会决定)
— 缺陷严重程度的划分
1、表面错误
2、影响独立模块、断断续续的问题(ctrl+F5来清缓存来刷新)、特定条件才发生、与产品要求不一致
3、功能点没有实现、数据丢失
4、5、 每个公司严重程度划分不同,有的分5级有的就4级,只要影响了系统或者出现了严重的计算错误(与钱有关的),我们就设置4或5级别
— 缺陷修复优先级
1、最低优先级 只要时间允许才去修复
2、低优先级 不延迟发布,可以在后续来修复
3、高优先级 影响其他开发或者测试工作的进行,必须在发布之前修复
4、 5、根据公司规定不同,4和5都代表最高优先级,严重的影响系统。
注意:优先级和严重程度不是绝对的正比关系;
— 缺陷报告细节
1、一个缺陷报告只能有一个缺陷的描述
2、缺陷一定要保证可以复现
3、复现缺陷的步骤要写清晰,一个编号写一个步骤(有些不重要的步骤可以整合)
4、描述结果(bug产生的效果)和期望结果(希望程序员要如何改正)
5、避免使用强调符号和俚语,正常描述问题即可
6、使用术语描述问题,不要使用“似乎、好像”等模糊词
— 缺陷密度
每千行代码出现的缺陷个数
九、版本管理软件SVN的使用
1、新建文件夹—右键--tsvn--创建版本库(今后可以把所有需要保存或更新的文件都存放在这个文件夹中,永久保存,方便所有人的获取和更改)
2、文件夹—右键—检出(把版本库中最新的内容下载到此文件夹中,只有执行了检出操作,这个文件夹才被svn软件控制,才能进行提交、更新等svn的操作)
3、文件夹—右键—提交(把此文件夹中的内容,提交到版本库中)
4、文件夹—右键—更新(把最新的版本库中的内容,更新到此文件夹中)
任何在SVN控制下的文件夹,作增加文件或者删除文件的操作,改名要通过SVN软件里的“改名”来改,之后都要对这个文件夹点“提交”,才能改变库里的内容。而移动文件需要在通过SVN“版本浏览器”来操作,它自动在操作后提交到库,用户不需要再点一次提交。
如果想要在某个文件夹下,取过去某个版本库的内容,前提这个文件夹需要“检出”(需要受SVN软件控制),之后再右键选“更新至版本”,选择你想要的版本即可。
在你的硬盘中新建一个文件夹,把它当作版本库;新建一个文件夹b,检出最新的版本库内容;新建一个文件夹C(必须先检出 才能够使用svn的提交功能),里面添加一个txt文件,把此文件提交到版本库中;新建一个文件夹D,检出最新的内容;在文件夹D中更改txt文件的名字,再次提交到版本库中