1.软件测试的概念及分类
软件测试的定义:
通过手工或自动化的手段来运行或测定某个软件产品系统的过程,目的在于检测软件产品是否满足规定的需求,或者弄清楚预期结果与实际结果之间的差别。
软件测试基本介绍:
软件测试的目的
1.是为了发现程序中存在的错误而执行程序;
2.是为了证明程序有错,而不是证明程序无错误。
软件测试工作流程:
软件测试的阶段划分:
软件测试类型划分:
- 功能测试
- 用户界面测试
- 兼容性测试
- 安装、卸载测试
- 安全性和访问控制测试
- 故障转移和恢复测试
- 性能测试
- 分布测试
功能测试:
测试软件各个功能模块处理是否正确,业务逻辑是否正确,数据流转、呈现、处理和存储是否正确。
用户界面测试:
测试用户界面是否美观,界面设计是否人性化、易操作,提示是否友好完善,不同
屏幕分辨率下各界面显示是否正确、美观,软件支持的不同语言版本下,各界面显示的文字是否正确、美观等。
兼容性测试:
主要测试浏览器兼容性、操作系统兼容性、硬件兼容性。
安装、卸载测试:
正常情况下软件安装完成后可以正常运行,可以完全卸载;
用户无权限、硬件资源不满足等异常情况下能够给出准确的提示信息。
安全和访问控制测试:
分应用程序级别、系统级别两个层次。
应用程序级别主要是用户登录、数据和功能权限控制的正确性。
系统级别主要是服务器的访问控制和用户权限设置。
故障转移和恢复测试:
主服务器不能服务—>备用服务器接管服务
主服务器恢复服务—>备用服务器停止服务
性能测试:
包括负载测试、压力测试、并发测试、可靠性测试、失效恢复测试等。
发布测试:
测试软件产品附带的各种说明书、帮助文档等。
2.软件测试入行指导和职业发展之路
软件测试入行要掌握的知识和技能
测试从业人员的持续学习
测试从业人员职业发展之路
软件测试入行要掌握的知识就和技能:
软件测试相关的概念、术语、测试工作流程
与人沟通、表述看法的能力
测试用例设计方法
基本的程序逻辑结构
基本的数据库操作
服务器日志查看方法
测试从业人员的持续学习:
软件所服务行业的业务知识
公司软件测试涉及的相关工具
提高个人工作效率和质量的工具
提高测试团队工作效率的方法或工具
测试产业人员职业发展之路:
3.软件测试的生命周期及原则
- 软件测试的生命周期
- 软件测试的原则
软件测试的生命周期:
软件测试的基本原则:
站在用户的角度,从需求出发,对软件进行全面的、深入的测试,尽早、尽可多地发现Bug,并跟踪和分析软件中存在的问题,对不足之处提出质疑和改进意见。
软件测试的具体原则:
1、准备详尽的测试工作计划,并及时维护。
2、所有测试的标准都应该建立在需求之上。
3、事先定义好产品的质量标准,并不遗余力的去执行。
4、尽可能早的开始测试工作。
5、避免让程序员测试自己的程序。
6、测试用例是设计出来的,不是写出来的。
7、对发现错误较多的程序段,应进行更深入的测试;对于出错多的程序员编写的程序同样需要给予特别关注。
4.常用的软件测试模型
模型的概念:
通过主观意识借助实体或者虚拟表现、构成客观阐述形态、结构的一种表达目的的物件。在软件行业来说就是:对系统实现步骤或系统知识的抽象表示。
模型的作用:
参与构造软件的人员之间沟通的基础
指导具体的软件实现过程
管理者制定相关工作计划的基础
常用的软件测试模型:
V模型
W模型
X模型
H模型
V模型:
W模型:
X模型:
H模型:
5.软件测试的阶段划分
- 软件测试的各个阶段
- 软件测试各阶段工作重点
软件测试的各个阶段:
单元测试:
单元模块内的功能测试、边界测试、容错测试、界面测试、控制流和数据流测试,以及模块内的业务流程测试等。
集成测试:
系统集成以后的相关接口测试、功能测试、容错测试、约束测试,跨模块的业务流程测试等。
系统测试:
系统性的初始化测试、功能测试、业务处理和数据处理测试、性能测试、压力测试、安装卸载测试等。
验收测试:
在用户现场和用户一起对系统进行功能确认、用户需求确认、备份恢复测试、安全性测试等。
回归测试:
系统使用过程中发现问题修改完成以后,测试对应的问题是否修改好了,测试新修改的功能是否引发新的缺陷,测试与修改代码相关的其它程序功能是否依然正确。
边界值:
什么是边界? 边界是指对于输入等价类和输出等价类而言,稍高于其边 界值及稍低于其边界值的一些特定情况。 边界值分析法也是一种常用的黑盒测试方法。
• 如何解决这类问题 • 找到测试数据的边界点,也就是有效等价类和无效等价 类的边界点,对边界点数据专门进行测试。 • 一般情况下,需要对边界值(0和100)以及边界值两 边的数(-1和1以及101和99)分别进行测试。
题目:输入的参数值必须大于等于0同时小于等于100的整数 正确代码: num>-1或num>=0 num<101或num<=100 错误代码: num>=-1或num>0或num>=1 num<=101或num<100或num<=99 选中了-1 选中了1 选中了101 选中了99
边界值 • 确定边界情况(输入或输出等价类的边界) • 选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据 • 边界值的取值依据输入范围区间不同而有所不同,但是都需要 把上点值、离点值和内点值取到。(闭两边、开中间)
边界值的方法小结
• 1、如果输入条件规定了值的范围,则应取刚到到这个范围的边界值,以及刚刚超 越这个范围边界的值作为输入数据。
• 两位整数加法器数的范围为-99—99,则应测试-99,-100和99,100
• 2、输入条件规定了值的个数 • 姓名要求1—20个字符,需要测试0、1、2个字符和19、20、21个字符
• 某商品信息查询系统,每页最多显示10条商品信息,我们就应该准备商品信息,使能够 查询出9、10条、11条、1条、0条商品记录
• 边界值和等价类区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等 价类的每个边界都要作为测试条件
因果图和判定表:
检查程序输入条件的各 种组合情况
• 特点:
• 考虑输入条件的相互制约及组合关系
• 考虑输出条件对输入条件的依赖关系
因果图的核心
• 因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。 所谓的原因就是输入,所谓的结果就是输出。
• 因果图的“因”——输入条件
• 因果图的“果”——输出结果
• 因果图法要注意考虑:
• 所有输入/输出条件的相互制约关系以及组合关系
• 输出结果对输入条件的依赖关系,也就是什么样的输入组合会产生怎样 的输出结果,即“因果关系