软件测试是软件质量保证的基本措施,也是软件验证、软件确认的重要方法,从不同角度有不同分类方法。
从测试依据角度可分为黑盒测试和白盒测试。其中,黑盒测试是指基于输入与输出的测试,白盒测试是指基于源代码的测试,黑盒测试与白盒测试可组合使用,即灰盒测试。白盒测试根据是否运行源代码又可分为静态、动态分析/测试。
从测试进程角度可分为单元测试、集成测试、系统测试。其中,单元测试是对软件单元进行测试,通常采用白盒测试;集成测试是对软件项(由若干软件单元组成,即软件模块)进行测试,白盒测试、黑盒测试、灰盒测试相结合;系统测试是对软件系统(由若干软件项组成)进行测试,通常采用黑盒测试,其从测试内容角度又可分为功能测试、性能测试、并发测试、压力测试、接口测试、内存测试、兼容性测试、用户界面测试、安装卸载测试、安全测试等。
从测试实施方角度可分为内部测试、用户测试、第三方测试。其中,内部测试是指注册申请人实施的测试,包括单元测试、集成测试、系统测试,白盒测试、黑盒测试、灰盒测试相结合;用户测试是指预期用户在真实或模拟使用场景对软件系统进行测试,采用黑盒测试;第三方测试是指第三方机构对软件系统进行测试,通常采用黑盒测试。
回归测试是指用于确定软件更新没有产生不良影响且未引入风险不可接受新缺陷的软件测试。回归测试需根据软件更新的类型、内容和程度,开展与之相适宜的单元测试、集成测试、系统测试、用户测试、第三方测试等测试活动。
软件验证是指通过提供客观证据认定软件开发、软件维护某一阶段的输出满足输入要求。软件验证包括源代码审核、静态和动态分析/测试、单元测试、集成测试、系统测试、设计评审等系列活动,是软件确认的基础。
软件确认是指通过提供客观证据认定软件满足用户需求和预期用途。软件确认是基于过程控制的设计确认,包括用户测试、临床评价、设计评审等系列活动,即要保证软件满足用户需求和预期用途,又要确保软件已知剩余缺陷的风险均可接受。
注册申请人需结合软件的产品特点、风险程度考虑相应软件测试要求,明确语句、判定、条件、路径等测试覆盖率要求,以保证软件验证、软件确认的质量。全部源代码均应测试,可结合白盒测试、黑盒测试、灰盒测试等方法予以实现。
这家伙很懒,还没有设置简介