P1—软件测试&软件测试分类
1.软件=程序+数据+文档
2.软件的分类
(1)系统软件
(2)应用软件
- C/S架构:clinet-server
- B/S架构:browser-server
3.软件测试的定义和目的
定义:使用人工和自动化手段来运行或者测试某个系统的过程
目的:是否满足规定的需求,弄清预期结果与实际结果的差别
4.软件测试的分类
(1)按照测试的阶段
1.单元测试:程序代码(多个模块、函数组成,一般开发完成)
2.集成测试:各个单位组合完成体系(比如:注册与登录是否连通,一般开发完成)
3.系统测试:把软件系统搭建起来,按软件规格书的功能是否相符合(通过测试用例,进行完整测试)
4.验收测试:以用户为主进行测试
- Alpha测试:把用户(可有测试人员、用户、公司内部人员)请到开发方对软件进行测试,测试环境受开发方控制,集中,人少
- Beta测试:测试环境不受开发方控制,人多,不集中
(2)按照技术分类
白盒测试、黑盒测试、灰盒测试(以是否查看代码划分)
(3)以被测对象是否运行划分
动态测试:运行被测系统,而进行的测试
静态测试:不需要运行被测系统,而进行的测试(界面检查、文档检查、代码检查)
(3)按照不同测试手段划分
手工测试、自动化测试
(3)按测试包含的内容划分
功能测试:验证软件的业务功能是否符合需求
界面测试:被测系统的界面与原型图界面是否相符
安全测试:对被测系统的安全进行测试(比如:对账号多次进行用户名密码,是否允许输入;sql注入)
兼容性测试:被测系统在不同的测试环境下是否正常(比如:不同浏览器运行)
易用性测试:被测系统的各个功能是否操作方便、是否容易理解、是否容易上手
性能测试(负载测试、压力测试):某个特定的时机,用户数据剧增,软件是否正常(系统崩溃、服务器崩溃)
(4)其他测试
冒烟测试:在进入正式测试前对主要功能核心功能进行的测试,冒烟一般可能是开发或者主管来负责
回归测试:开发对存在问题的功能进行修改,再一次进行测试
探索性测试:根据自己项目经验而进行的随意测试(测试思维)
5.问题?
(1)什么是软件测试?软件测试的目的是什么?
软件测试的定义:1983年,IEEE就提出软件工程的标准术语,
他将软件测试定义为:使用人工和自动手段来运行或测试某个系统的过程,
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
目的:
- 1)软件测试为了发现程序(软件)存在的代码或业务逻辑错误
- 2)软件测试为了检验产品是否符合用户需求。
- 3)软件测试为了提高用户的体验
(2)软件测试分类都有哪些?
按测试技术划分(是否查看代码划分):白盒测试、黑盒测试、灰盒测试
被测试对象是否运行划分:动态测试、静态测试(文档检查、代码走查)
按不同的测试手段划分:手工测试(点点点)、自动化测试(替代手工工具/写代码)
按测试包含的内容划分:功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试
其他测试:冒烟测试、回归测试、探索性测试/自由测试(测试思维)
(3)什么是黑盒测试?
在测试中,把程序看作一个不能打开的黑盒子,
在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,
它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。