测试金字塔与业务测试分析
测试金字塔模型
(1)从下到上三层测试,投入相同的时间,人力资源等,回报率(产出)越来越低;
(2)从下到上,测试的效率越来越低;
(3)从下到上,定位问题越来越难;
SDK,全称:SoftWare DeveLopment Kit,一般是指软件工程师特定的软件包建立的开发工具集合。
ROI:投入产出比。
单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试。
测试阶段:编码后或者编码前(TDD)Test-Driven-Develop测试驱动开发;
测试对象:最小模块;
测试人员:白盒测试工程师或开发工程师;
测试依据:代码和注释+详细设计文档;
测试方法:白盒测试;
测试内容:模块接口测试(按照接口设计文档,参数,输出)、局部数据结构测试、路径测试、错误处理测试、边界测试。
按照一定的策略把单元模块组装起来
集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行;
测试对象:模块间的接口;
测试人员:白盒测试工程师或开发工程师;
测试依据:单元测试的模块+概要设计文档;
测试方法:黑盒测试与白盒测试相结合;
测试内容:模块之间数据传输(输入输出,参数)、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响。
对被测试软件系统进行全面的系统的测试
将软件系统看成是一个系统的测试。包括对**功能、非功能性测试(性能,安全性测试,易用性测试,可靠性测试,可移植性测试以及软件所运行的软硬件环境)**进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。
测试阶段:集成测试通过之后;
测试对象:整个系统(软、硬件);
测试人员:黑盒测试工程师;
测试依据:需求规格说明文档;
测试方法:黑盒测试;
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。随着系统的庞大,回归测试的成本越来越大,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。
迭代频繁,长期进行迭代开发的软件产品,自动化测试。
在正式测试之前对系统的主要流程和核心功能进行测试。
验收测试不仅仅对系统进行全面测试,还要验收文档(开发文档,软件设计文档,需求分析文档,功能使用文档,用户使用文档)。
α测试
用户或者公司内非测试和非开发人员请到开发现场进行测试,时间比较集中,在开发现场沟通好产品的问题;容易受开发环境的影响。
β测试
用户在实际使用环境下进行测试。
用户测试的结果更接近于实际使用情况的反馈。
α测试测试优先于β测试。
介于开发方和用户方间的组织的测试。
静态测试
不运行程序,根据需求规格说明书,软件设计文档,程序设计文档等结合程序(代码),查看代码的风格,语法,逻辑等是否符合需求。
动态测试
写测试用例,运行系统(程序),执行测试用例。
手动测试
永远无法被替代;
优点:比较灵活,可以进行发散性测试;
缺点:量大容易出错。
自动化测试
按照预设的条件进行测试,手机测试结果,设置正常的验证和异常的验证;
UI界面自动化,selenium unittest ddt HTMLResultRepport;
接口自动化:jmeter postman;
性能自动化:loaderrunner;
自动化的前提:项目的功能要相对稳定;
自动化的价值:脚本的重复使用率(利用率)越高,自动化越有价值。
黑盒测试
系统测试,验收测试;
黑盒测试不关注程序内部具体的实现,只关注功能的输入和输出是否满足需求;
黑盒测试设计测试用例的方法;
等价类,边界值法,正交法,因果图法,场景法,错误猜测法。
白盒测试
单元测试;
测试的时候要关注功能内部程序的实现逻辑,语法等。
白盒测试的方法:语句覆盖,循环覆盖法(while,for),路径覆盖法(switch if else),逻辑覆盖法(判定覆盖,条件覆盖,判断组合覆盖,条件组合覆盖)。
灰盒测试
介于白盒和黑盒之间的测试 集成测试。
软件国际化:开发软件的时候使用一种工程技术,使得软件可以适用不同国家的语言,文化和风俗习惯,可以不用修改源码,这种工程技术叫做软件国际化。
word,苹果手机。
国际化测试
本地化测试
作者:梦nine
原文链接:https://blog.csdn.net/qq_54850622/article/details/117391017