后续有需要的我也会继续补上的~
1.按开发阶段划分
金字塔越往上测试越困难,产出多,回报少 (1)单元测试:纯白盒测试,单元测试是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位模块,又称模块测试。
(2)集成测试:黑盒白盒结合在一起,集成测试也称联合测试,组装测试,将程序模块采取适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作,继承主要目的是检查软件单元之间接口时候正确。
(3)系统测试:将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。 回归测试:修改了新的代码后,重新进行测试已确认修改没有引入新的错误或导致其他代码产生错误。 冒烟测试:在正式测试之前对系统的主要流程和核心功能进行测试。
(4)验收测试:验收测试不仅仅对系统进行全面测试,目的是确保软件准备就绪,按照验收依据文档,是技术测试的最后一个阶段。
2.按照实施组织区划分
(1)α测试 用户或者公司内非测试和开发人员请到开发现场进行测试,时间比较集中,在开发现场沟通好产品问题,最容易受开发环境的影响。 (2)β测试 用户在实际使用环境下进行测试,用户测试的结果更接近于实际使用情况的反馈。α测试优先于β测试。
3.按照是否运行划分(运行代码)
(1)静态测试 不运行程序,根据需求规格说明书,软件设计文档,程序设计文档等结合程序(代码),查看代码的风格,语法,逻辑等是否符合需求。 (2)动态测试 写测试用例,运行系统(程序),执行测试用例。
4.按照是否手工划分
(1)手动测试 优点:灵活,发散性测试,手工测试无法被代替。 缺点:量大容易出错。 (2)自动化测试 按照预设的条件去执行测试,收集测试结果,设置正常验证和异常验证。 前提:项目功能要相对稳定 价值:脚本的重复使用率(利用率)越高,自动化价值越有价值。
5.按照是否查看代码划分
(1)黑盒测试(系统测试,验收测试) 黑盒测试不关注程序内部具体的实现,只关注功能的输入输出是否满足需求; 黑盒测试设计测试用例的方法有哪些? 等价类、边界值、因果图、错误猜测法、正交法、场景法 (2)白盒测试(单元测试) 测试的时候关注功能内部实现的实现逻辑,结构,语法等。 白盒测试设计测试用例的方法有哪些? 语句覆盖法、循环覆盖法(while)、路径覆盖法(switch语句、if else)、逻辑覆盖法、判定覆盖、条件覆盖、判定组合覆盖、条件组合覆盖。 (3)灰盒测试 介于白盒与黑盒之间的测试(集成测试)
6.按照地域划分
(1)软件国际化:开发软件的时候使用一种工程技术,使得软件可以使用不同国家的语言,文化和风俗习惯,可以不用修改源码,这种工程技术叫做软件国际化。 (2)本地化测试
7.按照测试对象划分
(1)业务:场景法 (2)界面:完整性、一致性、准确性、易用性、布局、排版、文字、图像、控件(对话框、文本框、按钮、滚动条) (3)容错性测试:当系统由于外界异常环境或者人为错误操作引起的系统错误,系统可以自我消化掉,而不把这些错误或者异常直接展示给用户。 (4)文档测试:完整性、术语专业、准确性、一致性、易用性。 (5)兼容性测试:不同版本、不同系统 (6)易用性:用户体验标准 (7)安装测试 (8)安全性测试 (9)性能测试 (10)内存泄露测试:比如分配内存没有释放。
|