软件测试基础
一、什么是软件
软件是计算机程序、程序所用的数据以及相关文档资料的集合。
二、软件的定义
使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
本书以及百度的定义:为了发现程序中的错误而执行程序的过程。
三、软件测试的目的
1)软件测试为了发现程序存在的代码或业务逻辑错误;
2)软件测试为了检验产品是否符合用户需求;
3)软件测试为了提高用户的体验。
四、软件测试的原则
1)测试应该尽早介入;
2)所有的测试都应追溯到用户需求;
3)程序员应该避免检查自己的程序。除了单元测试。因为程序员对于自己的作品,思维具有局限性。无法保证测试质量。交给第三方或者专业测试,运用各种测试技术,利用丰富的测试经验和对bug的敏感,去提高软件的质量;
4)设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态。
5)二八原则,测试发现的错误中80%很可能起源于20%的模块中;
6)对错误结果要进行一个确认过程;
7)制定严格的测试计划;
8)完全测试是不可能的,测试需要终止;
9)妥善保存测试过程中的所有文档。
五、软件测试的对象
1)程序;
2)数据;
3)文档。
六、软件测试的分类
1)按测试执行阶段划分:
单元测试(开发人员);
集成测试(开发或者测试人员);
系统测试(测试人员);
验收测试(正式验收测试由产品或用户完成、Alpha测试模拟用户环境,Beta测试真实用户环境)
2)按测试计划划分:
白盒测试、黑盒测试、灰盒测试
3)被测对象是否运行划分:
动态测试、静态测试(文档检查、代码走查、界面检查)
4)按不同的测试手段划分:
手工测试、自动化测试
5)按测试包含的内容划分:
功能测试、界面测试(UI测试)、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、恢复测试(灾难备份)
6)其他测试:
冒烟测试、回归测试、探索性测试/自由测试(测试思维)
七、软件测试常见的误区
1)调试和测试是一样的:
测试是发现问题,调试是定位问题并解决问题。
2)测试组应当为保证质量负全责
3)把开发人员安排做测试
4)过分的依赖Beta测试(验收测试)
5)测试是可以穷尽的
6)测试是枯燥乏味,缺乏创造力的工作:
作为专业的测试人员,你需要利用各种各样的工具和方法,制造各种各样的场景去折磨软件,最终保证软件的质量。所以测试是一份需要有创造力的工作。
八、知识普及
C/S与B/S架构:
1)C/S:一定要安装一个客户端才能够用的软件
缺点:每次更新,都需要更新服务端和客户端。
2)B/S:只需要一个浏览器,就可以访问服务的
优点:只需要更新服务器就OK了。
九、笔试面试题整理
1)什么是软件测试?软件测试的目的是什么?
软件测试:为了发现程序中的错误而执行程序的过程。
软件测试的目的:
软件测试为了发现程序存在的代码或者业务逻辑错误;
软件测试为了检验产品是否符合客户需求;
软件测试为了提高用户的体验。
2)软件测试分类都有哪些?
按测试执行阶段划分:单元测试、集成测试、系统测试、验收测试。
3)什么是黑盒测试?
程序是否能适当的接受输入数据而产生正确的输出信息。
4)Alpha Beta测试的区别?
Alpha测试:开发参与,模拟用户环境;
Beta测试:开发不参与,真实用户环境。
5)软件的质量6大特性?
功能性,可靠性,易用性,效率,可维护性,可移植性
————————————————
原文链接:https://blog.csdn.net/weixin_36290500/article/details/80944445