软件测试如何工作?
软件测试是评估和验证软件产品或应用程序是否按预期运行的过程。 测试的好处包括防止出现错误、降低开发成本和提高性能。
软件测试的类型
目前存在多种不同类型的软件测试,而每种软件测试都具有特定的目标和策略:
验收测试:验证整个系统是否按预期工作。
集成测试:确保软件组件或功能可以一起运行。
单元测试:验证每个软件单元是否按预期执行。 单元是应用程序中最小的可测试组件。
功能测试:根据功能需求,通过模拟业务场景来检查功能。 黑盒测试是验证功能的常用方法。
性能测试:测试软件在不同工作负载下的表现。 例如,负载测试用于评估真实负载条件下的性能。
回归测试:检查新功能是否破坏或降低功能的效果。 如果没有时间进行完整的回归测试,那么可以使用健全测试在表面级别验证菜单、功能和命令。
压力测试:测试系统在失败之前可以承受多大的压力。 这是一种非功能性测试。
可用性测试:验证客户使用系统或 Web 应用程序完成任务的程度。
软件测试的方法
黑盒测试
黑盒测试(black-box testing),也称黑箱测试,是软件测试方法,测试应用程序的功能,而不是其内部结构或运作。测试者不需具备应用程序的代码、内部结构和编程语言的专门知识。测试者只需知道什么是系统应该做的事,即当键入一个特定的输入,可得到一定的输出。测试案例是依应用系统应该做的功能,照规范、规格或要求等设计。测试者选择有效输入和无效输入来验证是否正确的输出。
此测试方法可适合大部分的软件测试,例如集成测试(integration testing)以及系统测试(system testing)。
白盒测试
白盒测试(white-box testing,又称透明盒测试glass box testing、结构测试structural testing等)是一个测试软件的方法,测试应用程序的内部结构或运作,而不是测试应用程序的功能(即黑盒测试)。在白盒测试时,以编程语言的角度来设计测试案例。测试者输入资料验证资料流在程序中的流动路径,并确定适当的输出,类似测试电路中的节点。
白箱测试可以应用于单元测试(unit testing)、集成测试(integration testing)和系统的软件测试流程,可测试在集成过程中每一单元之间的路径,或者主系统跟子系统中的测试。尽管这种测试的方法可以发现许多的错误或问题,它可能无法检测未使用部分的规范。
测试用例
软件工程中的测试用例(即英文Test Case,也可以叫测试单例,测试案例)是一组条件或变量,测试者根据它来确定应用软件或软件系统是否正确工作。确定软件程序或系统是否通过测试的方法叫做测试准则。
测试用例设计。
编号 | 用例描述 | 前置操作 | 操作 | 预期结果 | 备注 |
---|---|---|---|---|---|
001 | 学号登录 | ||||
002 | 微信登录 | ||||
003 | 首页头条新闻 | 左右滑动可以切换,点击进入新闻详情 | |||
测试执行
执行测试用例,对测试过程进行记录和跟踪。对于测试发现的缺陷整理成缺陷报告。
缺陷ID | 202305220001 | 备注 |
---|---|---|
测试软件名称 | 古村落保护动态监测应用 | |
测试软件版本 | 1.0.0 | |
缺陷发现日期 | ||
测试人员 | ||
缺陷描述 | ||
附件(可附图) | ||
缺陷类型 | 见下表 | |
缺陷严重程度 | 见下表 | |
缺陷优先级 | 见下表 | |
测试环境 | ||
重现步骤 | ||
备注 |
缺陷类型,严重程度,优先级划分
微信小程序的白盒测试
白盒测试最主要的测试方式是单元测试,因为小程序主要完成的是前端交互功能,大部分的核心功能都是后端的API完成的,所以大部分情况下我们是用不到单元测试的。这也是为什么我们通过模版建立小程序项目的时候,项目并没有给我们自动生成单元测试模版,而大部分的后端应用框架如Springboot,Django等框架,在创建项目时,都会帮我们自动生成单元测试框架。对于微信小程序代码的测试,我们一般知道怎么样设置断点和通过加入“debugger”进行断点调式即可。
微信小程序的黑盒测试
黑盒测试主要应用于小程序的功能测试中。与别的应用开发不同的地方是,微信的功能测试必须指定测试人员才能扫码调用进行测试,因为在没有通过审核之前,小程序版本是不能发布上线的,所以要进行黑盒测试,我们必须通过后台添加测试人员。
上传代码
填写版本描述
生成成功
后台设置
设定合法域名
正式发布的小程序,必须添加合法域名才能调用该域名下的接口。
添加测试用户
在后台点击成员管理菜单,选体验成员,选择添加,添加体验成员。
通过以上的设置之后,我们就可以进行功能测试了。
评论区