总体上,按照测试对象划分:

界面测试:其实就是
UI测试;
测试点:
(1)保证界面与UI设计稿的一致性、正确性;
(2)测试界面的每一个功能的正确性;
(3)界面的布局排版是否合理;
(4)界面的控件功能是否能正常使用;
(5)不同分辨率下,界面的正确性(在界面从小变大过程中,页面是否衔接丝滑,用户是否可以接受,是否字体合理,不消失、不重影等)
界面常见的错误:
可靠性测试:用来衡量软件的可靠性;
可靠性 = 软件正常运行时间 /(正常运行时间+非正常运行时间)
一般软件:可靠性要求99.99%;
军事软件:可靠性要求:99.999%;
非实时性软件:可靠性要求低;
软件可靠性的影响因素:软件本身 或 外界因素(电,硬件设备,网络情况等)
如何进行软件的可靠性测试?
由于软件的可靠性与输入用例无关,与时间紧密相关;
因此,只需要让软件运行一段时间,然后查看在这段时间内,软件正常运行的时间及软件非正常运行的时间,就可以得到可靠性;
容错性:指系统因自身或外部的一些异常操作使得系统发生异常,但系统能够自我处理这种错误操作或异常的能力;
测试点:
测试点:
APP,web网页)浏览器及不同操作系统操作性;对开发阶段产生的各种文档(如需求文档、设计文档、功能文档及最后的用户说明书),进行相应的测试,测试文档的正确性、专业性、完整性及易用性(易读易懂);
易用性测试:也叫用户体验测试
测试点:
(1)符合标准和规范;
(2)直观性:用户可以直接看到预期结果的操作;
(3)灵活性:用户可以根据自己的使用习惯去选择操作方式,如手机聊天打字方式(九宫格、全键盘、手写等);
(4)舒适性:用户进行操作有感知,如下载软件的进度条设计;
测试点:
测试点:
测试点:
SQL注入总体上,按照是否查看代码划分:

黑盒测试:指不关心代码内部的逻辑结构及实现方式,只注重输入输出是否符合预期;
优点:站在用户的角度考虑,不易遗漏需求;
黑盒测试用例设计方法:
(1)等价类
(2)边界值
(3)因果图
(4)错误猜测
(5)场景法
(6)正交法
白盒测试:对软件实现的代码进行测试,分析和测试代码的逻辑结构,实现的功能是否符合用户的需求;
白盒测试用例设计方法:
(1)语句覆盖
(2)路径覆盖
(3)判定覆盖
(4)条件覆盖
(5)判定组合覆盖
(6)条件组合覆盖
(7)判定和条件组合覆盖
介于白盒与黑盒之间的测试
总体上,按照开发阶段划分:

单元测试:针对软件组成的最小单元模块进行的测试;包含内容有:
| 单元测试涉及的内容 | |
|---|---|
| 测试对象 | 组成软件的最小单元模块 |
| 测试方法 | 白盒测试 |
| 测试人员 | 白盒测试人员/研发人员 |
| 测试依据 | 软件详细设计文档 |
| 测试内容 | 模块的接口、局部数据的测试、边界测试、路径测试以及异常测试 |
集成测试:按照一定的策略将单元模块组织起来行成一个大的功能模块,对这个功能模块进行的测试;
| 集成测试涉及的内容 | |
|---|---|
| 测试阶段 | 单元测试后 |
| 测试对象 | 集成模块 |
| 测试方法 | 灰盒测试 |
| 测试人员 | 黑盒测试人员/研发人员 |
| 测试依据 | 软件概要设计文档 |
| 测试内容 | 该功能模块的正确性、单元模块之间接口的正确性、全局数据结构测试、单元模块的缺陷对整个功能模块的影响以及模块之间功能的冲突测试 |
系统测试:系统开发完成后,对系统进行全面的功能测试;
| 系统测试涉及的内容 | |
|---|---|
| 测试阶段 | 集成测试后 |
| 测试对象 | 整个系统 |
| 测试方法 | 黑盒测试 |
| 测试人员 | 黑盒测试人员/研发人员 |
| 测试依据 | 软件需求设计文档 |
| 测试内容 | 系统的所有功能、软件的易用性、兼容性、可靠性、容错性、可移植性以及安全性等 |
系统测试中包含:
回归测试:当系统引入新的代码后,就需要查看新代码的功能是否影响旧的功能,这时就需要进行回归测试;冒烟测试:正式测试之前,对软件系统的基本流程及核心功能进行的测试,当测试通过时才能够进行正式测试;验收测试:软件上线前的最后一道测试,由用户或产品经理发起;
| 验收测试涉及的内容 | |
|---|---|
| 测试阶段 | 系统测试后 |
| 测试方法 | 黑盒测试 |
| 测试人员 | 用户/产品方 |
| 测试依据 | 用户需求 |
| 测试内容 | 文档测试及系统的所有功能、软件的易用性、兼容性、可靠性、容错性、可移植性以及安全性等 |
总体上,按照实施组织划分:

α测试:指让用户或除开发人员以及测试人员外的公司其他内部人员去开发现场进行的测试;该测试一般先于β测试;
测试环境:开发环境
β测试:指实际用户在实际使用环境下进行的测试,不限时间与地点;
第三方测试:第三方机构对软件进行的测试,往往是业界的标准和规范;
总体上,按照是否运行划分:

静态测试:指不运行代码,通过分析代码的风格是否符合公司的标准规范,分析代码的结构和逻辑以及实现是否满足用户的需求;
动态测试:指运行代码及测试用例;
总体上,按照是否手工划分:

手工测试:手工进行测试用例的执行并查看结果;
优点:测试过程中可以人为控制,无法被自动化测试替代的,有利于做探索性测试;
缺点:量大易错,效率不高;
自动化测试:系统按照预先设计好的条件去执行测试,包含正常及异常的情况;
优点:解放双手,节约人力资源;能够精确测试;
缺点:不适合频繁变动的项目功能;