软件测评机构进行的全面检测是一个体系化、分层次、多方面的软件测试工程技术活动。重要是根据国际/国家标准(如ISO/IEC 25000系列、GB/T 25000)创建的质量。
重要步骤:
一、 测试类型和方法详述
1. 代码层测试
静态代码分析:在不运行程序的情况下,通过工具分析源代码,检查编程规范、潜在的安全漏洞、内存泄漏、思路错误等。常用工具有 SonarQube、 Fortify、 Checkmarx。
单元测试:对软件中的最小可测试单元(如函数、方法)进行测试,一般由开发人员完成,但测评机构会审查其单元测试的包括率(如行包括、分支包括),保证底层思路正确性。工具包括 JUnit、 Jest、 pytest。
2. 功能和集成测试
根据和设计:严格根据需求规格说明书,设计包括所有功能点、边界值、异常情形的测试用例,并保证用例的可追溯性。
方法:包括黑盒测试、 白盒测试 及灰盒测试。
自动化:对于回归测试,使用Selenium、 Appium、 Postman 等工具创建自动化测试脚本,提升效率和一致性。
3. 系统级专项测试
性能测试:
负载测试:证实在预期用户并发下的性能表现。
压力测试:探求系统的性能短板和极限点。
稳定性测试:长时间运行,检查是不是有内存泄漏或性能衰减。
工具: LoadRunner、 JMeter、 Gatling。
安全测试:
漏洞扫描:使用Nessus、 AWVS等工具进行自动化扫描。
渗透测试:模拟黑客攻击,进行手工证实,挖掘思路漏洞、越权访问等深层风险。
代码审计:深入分析源代码中的安全缺陷。
合规性检查:如等保2.0、 GDPR、 PCI DSS。
兼容性测试:
平台:不同操作系统(Windows, macOS, Linux, 不同Android/iOS版本)。
浏览器:不同内核浏览器及其版本。
硬件:不同分辨率、CPU、内存的设备。
数据:和第三方软硬件的数据交互兼容性。
可靠性测试:
容错性:在异常输入、断电、断网等情形下的恢复能力。
MTBF:考虑平均故障间隔时间。
4. 用户体验和文档测试
易用性测试:根据尼尔森十大可用性原则或ISO 9241标准,考虑界面布局、操作流程、反馈提示等。
用户文档测试:证实用户手册、帮助文档、API文档的准确性、完整性、和软件实际功能的一致性。
二、 检测流程管理
测试策划和设计:制定《测试计划》和《测试方案》,确定范围、方法、资源、进度和风险。
测试环境创建:搭建独立、可控、和生产环境尽可能一致的测试环境,包括硬件、网络、基础软件和数据。
缺陷全生命周期管理:使用Jira、 禅道等工具,对缺陷进行提交、分配、修复、证实、关闭的全过程跟踪管理,并进行缺陷根因分析。
质量度量和考虑:根据测试数据,计算缺陷密度、缺陷逃逸率、测试用例通过率、性能达标率等重点标准,形成量化评价。
报告编制和交付:出具《软件测试报告》,内容不仅是“通过/不通过”,更包括:
详细的测试过程和环境描述。
发现的缺陷分类统计和趋势分析。
各项质量特性的量化考虑结果。
对软件质量的中立、客观结果。
针对发现问题的具体改进建议和风险提示。