第三方软件测试机构谈软件自动化测试工具的评测方法

软件测试的主要评测方法包括测试覆盖和质量评测。测试覆盖是对测试完全程度的评测,它是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。质量评测是对测试对象(系统或测试的应用程序)的可靠性、稳定性以及性能的评测,它建立在对测试结果的评估和对测试过程中确定的变更请求(缺陷)分析的基础上。
  1 覆盖评测
  覆盖指标提供了“测试的完全程度如何?”这一问题的答案。最常用的覆盖评测是基于需求的测试覆盖和基于代码的测试覆盖。简而言之,测试覆盖是就需求(基于需求的)或代码的设计/实施标准(基于代码的)而言的完全程度的任意评测,如用例的核实(基于需求的)或所有代码行的执行(基于代码的)。
  ◆基于需求的测试覆盖
  基于需求的测试覆盖在测试生命周期中要评测多次,并在测试生命周期的里程碑处提供测试覆盖的标识(如已计划的、已实施的、已执行的和成功的测试覆盖)。 测试覆盖通过以下公式计算:
  测试覆盖 = T^(p,i,x,s) / RfT
  其中:T是用测试过程或测试用例表示的测试 (Test) 数(已计划的、已实施的或成功的)。RfT 是测试需求 (Requirement for Test) 的总数。
  ◆基于代码的测试覆盖
  基于代码的测试覆盖评测测试过程中已经执行的代码的多少,与之相对的是要执行的剩余代码的多少。代码覆盖可以建立在控制流(语句、分支或路径)或数据流的基础上。基于代码的测试覆盖通过以下公式计算:
  测试覆盖 = I^e / TIic
  其中:I^e 是用代码语句、代码分支、代码路径、数据状态判定点或数据元素名表示的已执行项目数。TIic (Total number of Items in the code) 是代码中的项目总数。
  2 质量评测
  测试覆盖的评估提供对测试完全程度的评测,对在测试过程中已发现缺陷的评估提供了最佳的软件质量指标。因为质量是软件与需求相符程度的指标,所以在这种环境中,缺陷被标识为一种更改请求,该更改请求中的测试对象与需求不符。
  ◆缺陷报告
  一般,可以将缺陷计数作为时间的函数来报告,即创建缺陷趋势图或报告;也可以将缺陷计数作为一个或多个缺陷参数的函数来报告,如作为缺陷密度报告中采用的严重性或状态参数的函数。这些分析类型分别为揭示软件可靠性的缺陷趋势或缺陷分布提供了判断依据。
  ◆性能评测
  评估测试对象的性能行为时,可以使用多种评测,这些评测侧重于获取与行为相关的数据,如响应时间、计时配置文件、执行流、操作可靠性和限制。这些评测主要在“评估测试”活动中进行评估,但是也可以在“执行测试”活动中使用性能评测评估测试进度和状态。
  主要的性能评测包括:
  ◆动态监测 - 在测试执行过程中,实时获取并显示正在执行的各测试脚本的状态。
  ◆响应时间/吞吐量 - 测试对象针对特定主角和/或用例的响应时间或吞吐量的评测。
  ◆百分位报告 - 数据已收集值的百分位评测/计算。

第三方软件测试是由开发者和用户以外的独立组织对软件进行的测试,其主要目的是确保测试过程的客观性和公正性[^3]。这种测试通常由具备专业资质的机构执行,例如国家级或省级软件评测中心等[^3]。 选择第三方软件测试的原因包括: 1. **增强测试的客观性**:由于第三方与开发方和使用方无直接利益关联,能够更加中立地评估软件质量,识别潜在问题。 2. **提升测试的专业性**:第三方测试机构通常拥有专业的测试团队、工具和技术,能够在功能性、易用性、安全性、性能等多个方面提供深入的测试服务。 3. **满足合规性要求**:在某些行业(如金融、医疗等)中,法规可能要求软件必须经过独立的第三方测试才能投入使用,以确保其符合安全和质量标准。 4. **资源优化与成本控制**:对于项目周期短或内部测试资源有限的企业而言,外包给第三方可以节省人力和设备投入,同时提高测试效率。 5. **全面覆盖测试范围**:第三方测试机构通常涵盖集成测试、系统测试、验收测试等多个阶段,并结合手工与自动化测试手段,确保软件质量的全方位保障[^3]。 ### 代码示例:模拟第三方测试流程中的测试用例设计片段 ```python # 模拟测试用例设计(功能测试) def test_login_function(): assert login("test_user", "correct_password") == "Login successful" assert login("test_user", "wrong_password") == "Login failed: incorrect password" assert login("", "") == "Login failed: username and password are required" # 模拟登录函数 def login(username, password): if username == "test_user" and password == "correct_password": return "Login successful" elif password != "correct_password": return "Login failed: incorrect password" else: return "Login failed: username and password are required" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值