软件需求
Software Requirements Specification,简称SRS
在特定环境下要完成一定功能的软件产品、程序或一组程序的说明 描述需求规格(需求规格说明书)
需求分类:原始需求,产品需求,软件需求,测试需求
测试需求
- 测试需求概念:可直接形成测试大纲
- 测试需求的重要性:
是开发测试用例的依据;是衡量测试覆盖率的重要指标;有助于保证测试的质量和进度
- 测试需求的特性要求
可核实的;满足需求的正常的前置条件,不满足需求时的出错条件
需求分析对于开发和测试的影响
- 开发:
如果需求不明确,系统功能研发不合理,导致软件包含大量bug;
大量bug修改,影响进度和团队情绪;
进度收到影响,可能造成公司产品失去市场先机
- 测试:
如果不能很好理解需求,会被开发牵着鼻子走,也会被人怀疑测试能力;
不能及时发现开发的bug,没法保证测试质量
测试需求分析
需求挖掘
需求挖掘的过程:是将软件需求中的那些具有可测试性的需求或特性提取出来,形成原始测试需求
需求挖掘的方法:通过列表的形式对软件需求进行梳理,形成原始测试需求列表
- 功能需求==》》输入方面
输入来源是什么?
输入数据数量是几个?
如果有错误输入,响应是什么?
什么是非法输入?什么是无效输入?
非法就是程序能做,但做了就非法,这种情况也需要报错
无效输入是指输入了有效输入以外的值。如:国名的下拉框不能出现台湾,台湾就是非法输入,却并不一定是无效输入。程序需要返回异常提示。
- 功能需求==》》处理方面
输入数据的有效性检测的流程是什么?
操作的确切次序,包含各时间的时序是什么:按照特定时间变化的不同情况的测试
对异常情况的回应是什么?例如:溢出、通讯失败、错误处理
- 功能需求==》》结果输出方面
输出到何处(如浏览器,打印机,文件)?
输出的数量是多少?
输出的时序是什么样的?按照特定时间变化的不同情况的测试结果
对非法值得处理是什么样的?
- 功能需求==》》性能需求方面
静态量化可能包含
支持的终端数目
支持的并发用户数
处理的文件和记录的数目,表和文件的大小
动态量化可能包含
在正常或峰值工作情况下一个特定时间段处理事务或任务的数目及数据量
正常或峰值工作量情况下处理某个事务或任务所占用系统资源的数量
- 功能需求==》》用户接口方面
系统用户显示时要求的屏幕格式
页面规划及报告或菜单的内容
输入和输出的相关时序
一些组合功能键的用法
测试用例是什么?
- 为特定目的而设计的一组测试输入、执行条件和预期结果
- 内容:测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等**
- 是软件测试执行的最小实体
测试用例是设计一个场景使软件程序在这种场景下,必须能够正常运行并达到程序所设计的执行结果
为什么设计测试用例
测试用例可以复用
测试用例覆盖度
有效测试的最核心的目的
评估测试工程师工作
测试过程文档
是测试活动的指导
测试质量稳定的根本保障
高质量测试用例特点
准确性
完整性
涵盖功能、性能等
清晰、简洁
可重用性
可维护性
根据需求更新、增加、删除
测试用例设计方法
黑盒测试要有一套产生测试用例的方法,用以产生有限的测试用例而覆盖足够多的“任何情况”
等价类划分,边界值,因果图,场景法,错误猜测法
测试用例的管理载体
编写测试用例的注意事项
- 功能检测
功能是否齐全
功能是否多余
功能是否可以合并
功能是否可以细分
各个操作之间的逻辑关系是否清晰
- 面向用户的考虑
操作是否符合用户习惯
各种选项可用或禁用是否合理
某些相似操作能否成通用模块
- 数据处理
- 软件流程测试
软件流程是否与实际业务流程一致
软件流程是否能顺利完成
反流程操作
反逻辑操作
重复操作
反业务流程操作以及违反流程操作
打乱流程操作或不按操作手册操作
搭建Linux环境
-
安装VM虚拟机;
-
安装CentOS镜像;
-
配置jdk(运行java的环境)环境变量;
编辑系统环境变量 ==> 环境变量 ==> 新建变量名JAVA_HOME和变量值(jdk路径)
path==> 编辑 ==> 新建%JAVA_HOME%\bin ==> 新建%JAVA_HOME%\jre\bin
搜索cmd,添加“java -version”,回车
-
安装Xshell,用来把Windows界面下访问远端不同系统下的服务器;
新建会话 ==> 添加主机地址192.168.159.128 ==> 输入登录名和密码 ==> 添加“su root”命令,切换到管理员权限
-
安装Xftp,用来把Windows文件传到虚拟机 (过程同Xshell)