一 软件的定义软件分为:系统软件和应用软件的系统软件——为了计算机能正常、高效工作所配备的各种管理,监控维护系统的程序及有关资料,如:操作系统,各种语言解释编
一.软件的定义
- 软件分为:系统软件和应用软件的
系统软件——为了计算机能正常、高效工作所配备的各种管理,监控维护系统的程序及有关资料,如:操作系统,各种语言解释编译器,各种数据管理系统。
应用软件—qq,微信,360(备注:浏览器是应用程序)
二.软件测试的定义
- IEEE 标准的定义:使用人工或自动的手段来运行或测定某个系统的过程,其目的在于检验;它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
- 经典的定义:测试是为了发现错误而执行程序的过程。
- 简单理解:测试为了检查程序中的错误,且看是否符合需求
三.软件的原则
- 尽早介入
- 穷尽测试是不可能的
- 缺陷具有集群性(二八原则)
- 杀虫剂悖论
- Absence of errors 谬误(系统的发布,不能取决于是否存在缺陷,而是取决于是否满足客户的需求和期望)
- 注意:所有测试均需要追溯到用户需求;避免程序员自测;保存好测试过程中用到的所有资料
四.软件测试分类
- 按执行阶段划分
单元测试,集成测试,系统测试,验收测试(正式验收,Alpha测试,Beta测试)
- 按测试技术划分
白盒测试,黑盒测试,灰盒测试
- 按被测试对象是否运行划分
静态测试(代码走读,文档检查,界面检查),动态测试
- 按测试的手段划分
手工测试,自动化测试
- 按测试包含内容划分
功能测试,界面测试,安全测试,兼容性测试,易用性测试,性能测试,负载测试,压力测试,恢复测试
- 其他测试
回归测试,冒烟测试,自由测试
注:单元测试—软件的最小单元程序模块测试;冒烟测试—对系统整体进行重点功能流程测试;
五.扩展c/s和b/s架构
c/s:即Client/Server(客户机/服务器)结构 eg:淘宝App
b/s:B/S结构,即Browser/Server(浏览器/服务器)结构 eg:淘宝网站