软件测试理论-基础理论向(纯干货)

软件测试

定义:通过人工或自动的方式运行软件,发现软件潜在缺陷并使其得到有效处理的过程

发展阶段

以功能验证为向导,测试是为了证明软件是可用的(正向思维)

以破坏性为导向,测试是为了找到软件中的错误(逆向思维)

以发现缺陷、预防缺陷为主,测试是为了展示软件符合设计要求

软件测试的作用

发现更多软件潜在的问题,将问题所带来的危害、影响降到最低

按阶段划分

单元测试:又称模块测试,是最小的测试单元,可以是一个函数、类或一个功能点,目前基本由研发执行

集成测试:又称组装测试,在单元测试的基础上,将模块进行有序的、递增的测试。主要检查各模块间协同工作的能力

系统测试:使用用户真实环境或模拟真实环境,检查完整的软件功能是否达到预期。主要基于产品规格说明书,主要由测试人员执行

验收测试:也称交付测试,是软件部署前的最后一个操作。有aipha测试和beta测试两种

按是否了解软件结构划分

黑盒测试:把待测系统当做一个黑箱子,不用管它的内部结构,只需关注他的运行条件、输入数据、输出数据,来完成测试;目前的功能测试就是以黑盒测试方式运行

白盒测试:白盒测试需要了解程序内部结构,检查其结构和路径是否正确;常用的白盒测试方法有语句覆盖、条件覆盖、基本路径覆盖、循环覆盖等

灰盒测试:介于黑盒与白盒之间,结合了黑盒与白盒的关系要素,关注输入与输出数据,同时也关注内部表现,只是不像白盒那样详细

按测试对象划分

功能测试:主要基于需求说明书,验证功能是否符合用户需求

界面测试:主要基于设计方案,进行界面布局,界面样式相关的测试

业务测试:主要基于业务流程

用户体验测试:充分站在用户角度,验证产品整体的使用

安装/卸载测试:涉及到客户端安装时,需要考虑安装/卸载测试

兼容性测试:测试工作占比非常大,主要考虑产品在不同平台上的使用情况

性能测试:主要分为负载和压力测试

安全测试:关注产品是否存在安全漏洞

按是否运行代码划分

动态测试:运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符

动态测试:不运行程序代码,如代码走读、代码规范、文档测试等

按是否手动执行规划

手动测试:手动的方式执行测试的过程

自动化测试:通过自动化工具执行测试的过程

几个重要的测试策略

冒烟测试:对待测系统进行大规模测试之前,先进行基本功能的验证,以确认系统是否达到可测的标志;又叫作版本测试,它的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件的基本功能正常,可以进行后续的正式测试工作

系统测试:将已经确认的软件、计算机硬件、外设、 络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试;系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案;对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等

兼容性测试:兼容性测试是在特定的或不同的硬件、 络环境和操作系统平台、不同的应用软件之间,验证软件系统能否正常的运行,以及能否正确存取原先版本的用户数据进行的测试;常见的兼容性测试:硬件兼容性测试、软件兼容性测试、数据兼容性测试、浏览器兼容性测试、 络兼容性测试

硬件兼容性测试:检查最低配置是否可以正常部署、运行;检查多种常规配置的运行情况;检查推荐配置的运行情况

软件兼容性测试:与操作系统的兼容性,如Linux的不同分支。与其他软件的兼容性,主要是和其他主流软件能否和谐共处

数据兼容性测试:后端服务有更新时,需要关注各平台的兼容情况。支持多个平台时,各平台间的数据交互。多平台功能不对齐时,考虑各平台的兼容情况。相同平台的不同版本之间,考虑数据的兼容情况

浏览器兼容性测试:选择主流浏览器进行功能测试与兼容性测试。各种样式在不同浏览器上的展示。不同浏览器上需要验证基本流程

络兼容性测试:覆盖不同的 络类型,比如有限 络、wifi、移动 络。覆盖不同的 络运营商,比如电信、移动、联通、 络等。覆盖移动 络的不同类型,比如4G、5G。覆盖不同的 络环境,比如正常 络、弱 络、无 络

安装测试:确保该软件在正常情况和异常情况的不同条件下,核实软件在安装后可立即正常运行。通常还包括升级和卸载操作;

安装测试的关注点:关注各种不同的安装形式如完整安装、最小安装、推荐安装、自定义安装等;软件本身存在某些依赖时,是否检查;检查重复安装、重复安装的场景,如已安装了相同版本,再次安装或安装较低版本;安装过程的功能与界面测试如:选择安装目录、上一步、下一步、取消等;一些异常情况下的安装,如系统资源不足、安装过程中遇到死机等

升级测试的关注点:升级过后,能否正常运行、数据是否保留;检查跨版本升级的场景;检查升级过程出现异常如系统资源不足、死机等情况

卸载测试的关注点:卸载过后,相关工作目录、快捷方式等是否清理完全;检查测试过程中的功能与界面测试;检查一些异常的卸载过程,如卸载正在运行的程序、卸载过程中出现死机等

文档测试:根据软件的定义,我们得知文档是软件的重要组成部分,所以也需要对文档进行有效的测试,主要针对用户文档,如使用说明、操作手册、维修建议等

文档测试的关注点:仔细阅读检查每个步骤、相关图片是否正确,尝试提及的每一个操作;检查文档的基本内容是否通俗易懂、是否达到文档编写的目的;检查文档结构、段落划分、对方方式等是否友好;检查文档的标点符 、是否存在错别字符

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月21日
下一篇 2022年4月22日

相关推荐