软件测试理论基础

一、CS和BS软件架构

CS即客户端-服务器架构与BS即浏览器-服务器架构,区别总结 :
效率:c/s效率高,某些内容已经安装在系统中了,b/s每次都要加载最新的数据
升级:b/s无缝升级;c/s删除老版本再安装新版本
安全:c/s更安全,需要安装、注册、登录;b/s有浏览器即可使用,安全程度低
开发成本:b/s成本低;c/s需要不同的系统要不同的开发人员,成本高

二、语言发展史

1、机器语言、机器码(0和1):计算机底层能识别
2、汇编语言:最接近机器码的语言,依然晦涩难懂,比其它高级语言运行速度快
3、高级语言:c、php、java、python。。。

三、软件测试分类

四、按阶段分类

1、单元测试也叫模块测试;测试最小的程序模块;
2、集成测试又叫组装测试,通常在单元测试的基础上,单独的模块合在一起测试
3、系统测试,指的是将整个软件系统看为一个整体进行测试
4、验收测试:
(1) α测试:Alpha 是内测版本,通常只在软件开发者内部交流,或忠实的粉丝之间发布,该版本软件的bug较多,普通用户最好不要安装
(2) β测试:Beta是公测版本,是对所有用户开放的测试版本,免费发布,因为里面还会有一些bug的存在
(3) γ测试:Gamma版本就是正式版的候选版本

五、是否查看源代码

1、黑盒测试:关注业务逻辑,输入内容与输出结果之间
2、白盒测试:去研究里面的源代码和程序结构
3、灰盒测试:黑白之间的状态

六、按是否运行分类

1、静态测试: 指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。
2、动态测试: 是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

七、按照是否自动化

1、人工测试:也叫做手工测试,测试人员手动去进行的测试
2、自动化测试:利用代码或者工具帮助人工进行测试

八、测试策略

1、冒烟测试:冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通
2、回归测试:当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试
3、随机测试:随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分
4、探索性测试:探索性测试意味着同时设计测试和执行测试。测试人员通过测试来不断学习被测系统。

九、缺陷

软件缺陷:是指软件或程序中存在的各种问题及错误;会导致软件产品在某种程度上不能满足用户的需求

十、软件缺陷的判定标准

  1. 软件未达到需求规格说明书中标明的功能
  2. 软件出现了需求规格说明书指明不会出现错误的地方
  3. 软件的功能超出了需求规格说明书指明的范围
  4. 软件未达到需求规格说明书虽未指明但应该达到的目标
  5. 软件测试人员认为软件难以理解,不易使用,运行速度慢,或者最终用户体验不好。

十一、软件缺陷产生的原因

软件缺陷产生是不可避免的,造成软件缺陷产生的原因主要归纳如下:
1. 需求解释、记录或者定义错误
2. 设计文档说明存在错误或者拼写错误
3. 编码说明、程序代码有误
4. 硬件或者软件系统上存在错误

十二、软件缺陷的类型

功能错误
界面错误
兼容性缺陷
易用性问题
改进建议

十三、测试原则

1、只能证明软件存在问题,不能证明不存在问题
2、不能进行穷尽(穷举)测试,应该分类别测试
3、测试工作要尽早的介入,降低修复成本
4、缺陷存在集群现象,二八原则:20%的模块中存在80%的缺陷
5、测试依赖环境(系统、浏览器)
6、杀虫剂现象
7、不存在缺陷谬论

十四、软件测试的定义

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。人工和自动化手段来进行测试,目的是找到预期结果和实际结果之间的差异

十五、软件测试的目的

用最少的人力、物力、财力,找到软件中的问题并修复,从而降低商业风险

十六、测试用例

定义:是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档。测什么?怎么测?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值