1.软件=程序+数据+文档资料(软件测试的对象有哪些?)
2.C/S架构和B/S架构的区别:
- C/S:客户端/服务器,必须安装客户端才能使用。
- B/S:浏览器/服务器,只需要一个浏览器就可以访问服务。
3.软件测试的目的: - 为了发现程序存在的代码或业务逻辑错误(找bug)
- 检验产品是否符合用户需求(提高质量)
- 提高用户的体验
4.测试分类:
按照测试阶段划分: - 单元测试:测试程序代码(执行者:开发人员)
- 集成测试:将多个模块/函数组装到一起进行的测试(执行者:开发人员)
- 系统测试:计算机程序结合外设+网络等其他元素进行的测试(执行者:测试人员)
- 验收测试:主要以用户为主进行的测试
/Alpha测试:把用户请到开发方对软件进行的测试,测试环境受开发方控制,测试人不多,测试时间比较集中(执行者:测试人员,用户,公司内部人员)/
/beta测试:测试环境不受开发方控制,测试人比较多,测试时间不集中/
两者的最大区别:测试场所不一样,一般先做Alpha测试在做beta测试。
按照测试技术划分:
- 黑盒测试:只需要关注外部的输入与输出,不需要关注程序内部的逻辑。
- 白盒测试:需要关注内部逻辑具体实现,而不需要关注外部的输入与输出。
- 灰盒测试:需要关注外部的输入与输出,也需要惯出内部逻辑具体实现(两者都需要关注)。
按照被测试对象是否运行划分:
- 动态测试:运行被测系统,而进行的测试。
- 静态测试:不需要运行被测系统而进行的测试(界面检查,文档检查,代码走查)。
按照不同的测试手段划分:
- 手工测试
- 自动化测试
其他测试:
- 冒烟测试:在进行正式测试前对主要核心功能进行的测试(执行者:开发或测试主管)
- 回归测试:开发对存在问题的功能进行修改后,再一次进行的测试
- 探索性测试:根据自己项目经验而进行的随意测试