软件测试的定义&测试分类
1.软件测试的定义及目的
1.1 什么是软件
◆ 软件是计算机程序、程序所用的数据以及有关文档资料的集合。
◆ 软件是计算机的灵魂。软件又可以分为两大类系统软件和应用软件。
系统软件: 系统软件是生成。准备和执行其他程序所需要的-组文件和程序。如操作系统Windows,数据库SQL -Server,驱动程序, java语言系统编译环境等。
应用软件: 计算机用户为了解决某些具体问题而购买、开发或研制的各种程序或软件包。如APP , QQ,微信等。:
1.2 软件测试是什么
为了发现程序中的错误而执行程序的过程
1)软件测试为了发现程序存在的代码或业务逻辑错误
2)软件测试为了检验产品是否符合用户需求。
3)软件测试为了提高用户的体验
1.3 软件测试的原则
1、测试应该尽早介入。
2、所有的测试都应追溯到用户需求。
3、程序员应该避免检查自己的程序,除了单元测试。因为程序员对于自己的作品,思维具有局限性。无法保证测试质量。交给第三方或者专业测试,运用各种测试技术,利用丰富的测试经验和对BUG的敏感,去提高软件的质量。
4、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件特殊情况下还要制造极端状态和意外状态。
5、二八原则,测试发现的错误中80%很可能起源于20%的模块中。
6、对错误结果要进行一个确认过程。
7、制定严格的测试计划。
8、完全测试是不可能的.测试需要终止。
9、妥善保存测试过程中的所有文档。
1.4 软件测试的对象
程序、数据、文档
2.软件测试的分类
按测试执行阶段划分
单元测试、集成测试、系统测试、验收测试(正式验收测试、Alpha测试、 Beta测试)
按测试技术划分
白盒测试、黑盒测试、灰盒测试
被测试对象是否运行划分
动态测试、静态测试(文档检查、代码走查、界面检查)
按不同的测试手段划分
手工测试、自动化测试
按测试包含的内容划分
功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、恢复测试
其他测试
冒烟测试、回归测试、探索性测试/自由测试(测试思维)
3.常见面试题
1.什么是软件测试?软件测试的目的是什么?
2.软件测试分类都有哪些?
3.什么是黑盒测试?
4.Alpha Beta测试的区别?