一.软件测试概念和目的
软件测试的概念:
测试模型(V模型)
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。
通常对软件测试的定义有两种描述:
定义1:软件测试是为了发现错误而执行程序的过程
定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。
软件测试的目的:
想以最少的时间和人力找出软件中潜在的各种错误和缺陷
重点强调:
软件测试人员应该具备的素质:
1、良好的沟通能力
2、技术能力
3、自信心和耐心
4、怀疑精神和自我督促
5.洞察力
6. 很强的记忆力
软件测试人员知识结构的组成:
专业知识:操作系统,数据库和测试基础等方面
二.软件测试流程
分析测试需求→制定测试计划→设计测试方案→编写测试用例→执行测试用例→验收测试→书写测试报告
三.软件测试计划
测试计划的定义:
软件项目的测试计划是描述测试目的、范围、方法和软件测试的重点等的文档
测试计划的内容:
测试计划的文档包括引言(目的、背景、范围、定义、参考资料)、测试内容(测试功能清单)、测试规则(进入准则,暂停/退出准则、测试方法、测试手段、测试要点、测试工具)、测试环境(硬件环境、软件环境、特定测试环境要求)、项目任务(测试规划,测试设计,测试执行准备,测试执行,测试总结)、实施计划(工作量估计、人员需求及安排、进度安排、其它资源需求及安排、可交付工件)、风险管理
四.软件测试用例
测试用例的定义:
测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果
测试用例的特征:
- 不是重复的、多余的;
- 一组相似测试用例中最有效的;
- 既不是太简单,也不是太复杂;
- 最有可能抓住错误的;
测试用例设计原则:
测试用例的代表性:
能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的输入数据、操作和环境设置等
测试结果的可判定性:
即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的预期结果
测试结果的可再现性:
即对同样的测试用例,不同的系统的执行结果应当是相同的
三七原则:
30%的bug是用例测试发现的,70%的bug是脱离用例发现的
测试用例设计的方法:
等价类划分法:
把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误
边界值分析法:
如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据
错误推测法:
基于经验和直觉推测程序中所有可能存在的各种错误,有针对性地进行测试的方法
场景分析法:
用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法
五.Linux指令
Linux概念:一种自由和开放源码的类Unix操作系统
- 用户的创建与删除:
创建:useradd -g test -d /home/wy -s /bin/bash wy
删除:userdel(删除用户帐号)
- 文件的属性与权限:
chgrp:改变档案所属群组
chgrp 群组名 档案名
chown:改变档案拥有者
- 目录管理
cd(变换目录)
pwd(显示目前所在的目录)
mkdir(创建目录)
touch(创建文件)
cp(复制档案或目录)
mv(移动档案与目录,或更名)
- 进程命令
ps(查看进程)
kill杀死进程
- 端口命令
netstat(查看端口指令 )
- 管道命令
用’|’表示
Grep:查找范本样式
- 压缩与打包
压缩:
tar(将多个文件打包成一个大档)
tar –cvf name.tar name 压缩
tar –xvf name.tar 解压
tar –tvf name.tar 查询
解压包方法:
gzip:gunzip
bzip2:bunzip2
- VI编辑命令
光标的移动方法:
[Ctrl] + [f]:屏幕[向下]移动一页
[Ctrl] + [b]:屏幕[向上]移动一页
搜寻与取代:
/word:向光标之下寻找一个名称为word的字符串
?word:向光标之上寻找一个名称为word的字符串
删除、复制与粘贴:
dd:删除光标所在的行
yy:复制光标所在的那一行
:q 结束编辑(quit)
:w 存档(write)
:wq 即存档后离开
:set nu 显示行号
:set nonu 取消行号
六.个人总结
提出近阶段个人学习总结以及遇到问题
- 个人学习总结:
1).通过两个星期的学习 ,知道了软件测试是门很重要的学科,了解了很多与测试相关的理论知识,重点是要掌握软件测试用例的写法,并用来指导测试的执行
2).通过培训和练习,基本上掌握了Linux指令的一些简单用法,如文件,目录的管理和编辑(这些是Linux指令的重点)
3).通过不断熟悉mCommerce项目,了解项目的功能,在前台和后台都发现了很多bug,从实践中了解了测试的流程,内容和方法等并加深了对测试这方面的理解
4).通过每两天开一次讨论会,大家共同交流重要的知识点或不会的题目,最终一起探讨并解决这些题目,加深巩固了所学知识。
- 遇到的问题:
1).Linux指令才掌握一些最基础的指令,还有很多指令有待进一步学习
2).发现测试基础方面的内容有很多,知识点很杂,不知道重点要掌握的是什么(有好多组长说都用不到,比如白盒测试等)
3).对于测试用例和有关方面的例题还不是很理解,不能全面的考虑等价类(会遗漏一些情况)可能对需求分析不到位,如何才能全面的考虑到所有有效等价类和无效等价类