软件测试

来源:互联网 发布:剑网三读条男神数据 编辑:程序博客网 时间:2024/06/05 00:12

一、定义

检测软件产品是否满足规定的需求,或者弄清楚预期结果与实际结果之间的差别。一句话,软件测试其实就是检查程序对需求的实现程度

自动化测试与人工测试:人去一步一步执行测试用例;用自动化工具去执行测试用例(执行测试用例的主体是谁?)


二、目的

软件测试为了发现程序中存在的错误去执行程序。

软件测试是为了证明程序有错,而不是为了证明程序没错。


三、软件测试工作流程(软件测试人员与软件开发人员)

1)测试需求分析:首先明确你要测试什么? 归纳出待测需求列表

2)设计、编写测试用例:测试用例是什么,流程图

3)执行测试:执行编写的测试用例测试程序。

4)分析、记录缺陷:记录到缺陷管理系统,以便开发人员去修改缺陷。注释清楚问题所在。

5)缺陷修改测试:开发人员修改完缺陷后,反馈给测试。关闭缺陷、打开缺陷。

6编写测试报告(整个测试完成后,才能编写测试报告)

如图所示:


四、软件测试的阶段划分:

单元测试——>集成测试——>系统测试——>验收测试——>回归测试


五、软件测试的类型划分

1功能测试

测试软件的各个功能模块处理是否正常、业务逻辑是否正确;数据传递、呈现、处理和存储是否正确。比如查询功能查出来的数据是不是正确的,数据从文本文件存储到数据库中是否正确,数据在界面的呈现和设计是否一致。

2用户界面测试

测试用户界面是否美观;

界面设计是否人性化、易操作;(界面设计符合用户的使用习惯、操作简单)

提示是否友好完善;(提示信息清晰明了)

不同的屏幕分辨率下各界面显示是否正常;(显示是否出现混乱、是否换行等)

软件支持的不同语言版本

各界面显示的文字是否正常、美观。

3兼容性测试

a:浏览器兼容性:程序在主流浏览器上能够正常运行,ie、谷歌、火狐。

b: 操作系统兼容性:在不同的操作系统上能够正常运行。

c: 硬件兼容性:运行这个程序,硬件配置必须达到什么样的水平。

4安装、卸载测试

正常情况下软件安装完成后,可以正常运行,可以完全卸载;用户无权限,硬件资源不满足等异常情况下能够给出准确的提示信息。

5安全和访问控制测试

分应用程序级别和系统级别两个层次

a:应用程序级别:主要是指用户登录、数据和功能权限控制的正确性(管理员权限控制)

b:系统级别:主要是指服务器的访问控制和用户权限控制.(用户角色定制)

6故障转移与恢复测试

主服务器不能服务——>备用服务器必须接管服务(实时感知)

主服务器恢复服务——>备用服务器停止服务

7性能测试

包括负载测试、压力测试、并发测试、可靠性测试、失效恢复测试等

某种资源的使用已经达到饱和状态

如果某个模块出现异常,对用户的影响

8发布测试

测试软件产品附带的各种说明书、帮助文档等,主要是指文档语言描述的正确性,文字和标点的正确性。按照操作文档的描述能否把软件部署好。


六、软件测试从业人员需要掌握的知识和技术

软件测试相关概念: 黑盒测试、白盒测试、测试覆盖率、有效输入、缺陷、无效输入

与人沟通、表达看法的能力:测试很多情况下都在说服别人,沟通技巧尤为重要。

测试用例设计方法

基本的程序逻辑结构:顺序结构、循环结构、选择结构;有助于对程序的理解。

基本的数据表的操作

服务器日志查看方法

快速掌握公司软件测试相关的工具


七、软件测试的生命周期

1)测试计划:决定测试需求、预估测试工作量编写测试计划

2)测试设计:设计测试过程、设计测试方法、设计测试用例

3)测试开发:建立测试环境、编写测试用例、开发调试测试脚本

4)测试执行:执行测试用例、运行测试脚本

5)测试评估:分析测试过程,生成测试总结报告


八、软件测试的原则

站在用户的角度,从需求出发,对软件进行全面的、深入的测试,尽早尽可能多的发现bug,并跟踪分析软件中存在的问题,对不足之处提出质疑与改进意见。

零缺陷是一种理念.

1)准备详尽的测试工作计划,并及时维护

2)所有的测试标准都应该建立在需求之上(站在用户的角度去想)

3事先定义好产品的质量标准,并不遗余力的去执行

4尽可能早的开始测试工作

5)避免让程序员测试自己的程序

6)测试用例是设计出来的,不是写出来的

7)对于发现错误较多的程序段,应进行更深入的测试;对于出错多的程序员编写的程序同样需要给予特别关注


九、软件测试职业发展规划:

质量管理


 

测试阶段:每天写测试日报给软件开发人员和team leader

0 0