软件测试作业(三)

简介: 软件测试作业(三)

软件测试作业(三)

1. 软件测试可以划分为白盒测试和黑盒测试,请分析两类测试的相关技术、应用场景及特点。

黑盒测试:

  • 简介与特点:也称功能测试、数据驱动测试,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。
  • 相关技术:等价类划分,边界值分析,因果图,决策表分析。
  • 应用场景:
  • (1)建议在对稳定运行的大中型系统进行小规模的功能优化或改造过程中使用黑盒测试方法,只需要明确当前项目的改造点,确认与已有功能的关联性和影响,针对项目改造范围进行测试,非特殊情况无需了解系统或模块的全部处理逻辑。
  • (2)建议复杂度和重要性较低的系统,在时间精力有限的情况下优先选用黑盒测试方法进行测试。测试人员首先明确业务需求,使用等价类划分和边界值分析方法完成测试案例设计,适当结合程序特征、个人经验以及冒烟测试情况等对测试案例进行修订补充,在系统无重大问题或异常的情况下,一般黑盒测试即可满足该类系统测试要求。
  • (3)建议适当考量测试人员或测试团队专业技术能力以及测试阶段,如在系统功能测试已经完成的前提下,业务方执行的业务验收测试可以使用黑盒测试方法,降低了团队组建成本和测试成本,无需要求业务人员对代码和软件逻辑进行充分学习和掌握。

白盒测试:

  • 简介与特点:也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。
  • 相关技术:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖。
  • 应用场景:
  • (1)一般单元测试及集成测试需要使用白盒测试方法,包括代码检查法、静态结构分析法等,相关测试多由开发人员完成,具体视项目团队分工而定。
  • (2)建议针对新建系统或已有系统新增重要模块时使用白盒测试方法,例如逻辑覆盖或基本路径测试法,尤其推荐在有较多校验关系且校验关系间存在嵌套时使用,使用时一般可参考程序代码、详细设计说明书、程序控制流图等相关资料,帮助减少测试人员的分析工作量等。
  • (3)建议对重点系统进行架构优化、对公共函数或程序进行改造、对后台或接口内容进行调整时选用白盒测试方法,一方面关注优化改造后对原有程序的改动大小,一方面关注调用方或消费方是否受影响,新版本程序或系统对旧版本的兼容性,避免关联系统由于改造时测试不充分受到影响。

(4)建议关注测试中的集群现象,对于缺陷或问题集中的功能和模块建议及时由黑盒测试方法改为白盒测试,在缺陷管理过程中及时进行小范围的测试方法调整,同时保证测试效率和测试充分性。

2. 阐述静态分析技术的主要具体方法和过程。

  • 主要具体方法:
    数据流分析,基于约束的分析,抽象解析,类型与结果分析。
  • 过程:
    在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。

3. 功能测试策略、方法及实施过程。

  • 策略:
  • 基于业务流清晰的系统,场景法可贯穿采用,并整个测试案例过程,并可在此基础上综合应用各种测试方法;
  • 等价类划分法较其他方法往往优先选用,高效筛选测试用例;
  • 边界值分析法任何情况下都应被考虑,挖掘缺陷最有效手段之一;
  • 各种测试中,均可借助错误推测法扩充测试用例,进一步将测试高手的智慧和经验转变为可视化成果;
  • 因果图法和决策表法尤为相似,更适用于系统中的各输入条件及输出结果之间存在关系的情况;
  • 正交试验法在参数配置类及兼容性的测试用例设计中,简单易行、优势显著;
  • 检查已设计出测试用例的逻辑覆盖程度,若未达到覆盖标准,则需继续补充完善测试用例。
  • 方法:边界值,等价类,因果图,决策表,场景,状态图,比较测试。
  • 实施过程:需求分析与评审,测试计划与测试方案,测试用例设计,测试用例评审,执行用例,缺陷跟踪及报告产出。

4. 分析性能测试的基本方法和要点。

基本方法:负载测试,压力测试,耐力测试,尖峰测试,体积测试。

要点:

帮助检查应用程序的可靠性

进行不同类型的性能测试以检查应用程序是否可靠并提供正确和一致的输出。

负载测试和耐久性测试等性能测试有助于评估在预定义时间(负载测试)或长时间(耐久性测试)预期工作负载下的系统正确性。

有助于识别性能瓶颈

性能测试有助于识别应用程序中降低系统速度的性能瓶颈。

稍后,可以优化这些组件的性能,从而改进整个系统。

帮助评估应用程序的可扩展性

在使用不同数量的并发用户运行性能测试时,我们可以检查应用程序是否能够扩展到更多用户。

这也有助于为系统找到足够的基础设施/服务器要求。

有助于检查应用程序的健壮性

通过压力测试,我们可以在高于预期的工作负载下检查应用程序的健壮性。

这有助于了解应用程序可以处理并发用户而不会崩溃的上限或盈亏平衡点。

5. 分析GUI测试内容及要点。

内容:GUI是计算机软件与用户进行交互的主要方式。GUI测试是对软件的GUI 界面进行测试。GUI 的测试对象是图形对象(包括控件)和对象的属性集合。

要点:GUI测试则主要关注应用程序上GUI组件是否符合规范或用户的操作习惯。当然GUI测试是不可以脱离功能而独立测试的,它是随着功能的实现,一个一个窗口进行校验的,也可以和功能测试一起测试。对于简单的系统可以将GUI测试和验证功能实现一起进行,但对于稍微大一些的系统,最好将其分开,这样才不至于遗漏任何一个重点。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
9月前
|
存储 缓存 网络协议
[计算机网络(第八版)]第一章 概述(章节测试 + 章节作业 + 答案解析)
[计算机网络(第八版)]第一章 概述(章节测试 + 章节作业 + 答案解析)
|
SQL Java 数据库连接
【Spring】作业记录:spring项目从创建、配置到功能实现、测试
【Spring】作业记录:spring项目从创建、配置到功能实现、测试
88 0
【Spring】作业记录:spring项目从创建、配置到功能实现、测试
|
机器学习/深度学习 人工智能 算法
[python作业AI毕业设计博客]Analytic Methods in Systems and Software Testing-2018 系统和软件测试分析方法
图片.png 下载地址 https://itbooks.pipipan.com/fs/18113597-335471247 使用最先进的方法和工具对系统和软件测试进行综合处理。本书提供了有关最新软件测试方法的宝贵见解,并通过示例解释了该领域中使用的统计和分析方法。
|
分布式计算 Java 测试技术
|
21天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
27 0
|
2月前
|
测试技术
现代软件测试中的自动化工具与挑战
传统软件测试面临着越来越复杂的系统架构和不断增长的测试需求,自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的应用和挑战,深入分析其优势与局限性,为软件测试领域的发展提供思路和启示。
|
2月前
|
测试技术 持续交付
现代软件测试中的自动化工具应用与挑战
随着信息技术的快速发展,软件行业对于质量和效率的要求日益提高,自动化测试工具在软件开发过程中扮演着至关重要的角色。本文将探讨现代软件测试中自动化工具的应用现状以及所面临的挑战,旨在帮助开发人员更好地理解并充分利用这一技术手段。
|
4天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】利用AI辅助工具提高软件测试效率与准确性
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
2月前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。

热门文章

最新文章