追踪软件测试的证据链 软件测试
证据环是指由司法人员依法搜集的具有法定形式的证据资料的有机组合,是司法人员依法打造的、能够使证据得以发挥证明作用的证据平台,是证据链的重要环节和重要组成部分。
任何证据资料在证据环未产生之前,只是一种孤立存在、不具有法律效果的证据体,无论其表现形式如何均不能证明案件事实的存在。如作为物证的尖刀,只有经过现场勘验笔录的记载、尸检报告和血迹鉴定或证人证言予以认证才能得以发挥其杀人凶器的证据作用;证人证言也因此得以发挥其证明力。
证据链是由证据环构成的证明案件全部事实的证据体系,是由大小不等的证据环组成的有机统一整体,是法律体系中实体法与程序法相互融合的体现。证据链的材料源自于能够独立证明案件某一事实的证据环,因此证据链的证明能力和证明力或者说证据链的生命,取决于证据环内在的客观性、合法性、关联性及证据环相互之间的关联性与待证事实之间的关联性。环环相扣的证据环,赋予了证据链足以证明案件全部事实的证明能力和证明力。如在一起故意杀人案件中,据以认定犯罪嫌疑人就是杀人凶手的证据是现场的一枚指纹,那么该证据链必须由足以证明现场指纹就是杀人凶手所留的证据环和该犯罪嫌疑人就是留下这枚指纹的人的证据环所构成,否则就不成其为证据链。
软件测试的目的是检验软件质量,发现软件中的问题。一次失效的发生正如一次案件的发生,证明被测软件存在问题光有测试人员的主观判断是不够的,需要有各种证据,由各种证据组成证据环,再由证据环构成证据链,以一个证据体系证明软件中问题是导致失效的原因。
在整个软件测试过程中有那些东西可以被当作证据呢?这应当从测试的整个流程中去寻找个别阶段的输入和输出中去寻找。
软件测试流程可以分为以下几个阶段:
1) 测试需求分析阶段:
在测试需求分析中,输入为用户需求,包括测试的目的,范围,时间,费用等。
输出为测试规范,应包含以上内容,以及对总体测试工具,测试环境的说明,以及测试流程细则。
2) 测试设计阶段
该阶段的输入为软件设计规范文档,具体描述软件的功能。输出应为软件测试计划书和测试案例。每个测试用例的说明中都要包含具体的测试环境配置,输入参数,测试执行步骤,以及期望的结果。
3) 测试执行阶段
测试过程中应记录测试开始时间和结束时间,测试人姓名,测试用例编号,测试运行环境;保存测试输入配置文件,真实的测试执行步骤,软件测试过程中的日志文件,软件运行生产的中间文件,软件输出结果。
4) 测试结果分析
通过比对测试输出结果和预期的结果判断测试是否通过,生成测试分析报告。
以上各个阶段的输入和输出都可以作为“证据”。
证据的获取可以通过多种手段,以测试执行过程为例:
当没有输入文件时,可以通过截取屏幕、拍照等的方法记录输入;
当没有得在真实目标平台上测试时,应当查找和保存有关目标平台和测试平台差异和联系的文档,并给出分析报告;
在测试过程中如果使用特定测试工具,应当一并保存测试工具的日志文件,以备分析测试工具对测试结果的影响。
证据的保存也需要规范,所有证据应当保存在证据库中,以避免丢失或任意修改。
如前所述,证据贯彻于整个测试流程的各个阶段中,通过各个不同阶段的证据的组合,就能方便的形成证据环,并进而构成完整的证据链。
文章来源于领测软件测试网 https://www.ltesting.net/