热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

软件测试小笔记

软件测试求生法则读书笔记“软件测试”枯燥乏味软件测试的重要性是毋庸置疑的,在测试环节任何一个小小的错误被放过,对客户体验、公司的信誉都是极大的打击。但另一方面,软件测试是非常枯燥的,

软件测试求生法则读书笔记

“软件测试”枯燥乏味

软件测试的重要性是毋庸置疑的,在测试环节任何一个小小的错误被放过,对客户体验、公司的信誉都是极大的打击。但另一方面,软件测试是非常枯燥的,它需要大量的时间,整个过程非常乏味,重复做一件事情往往会让人分心,分散注意力。管理者通常认为,一个好的测试人员就能保证某个软件能够完整的被测试。这种想法是错误的,好的软件测试员不是解决一切问题的“万能药”。人总是会犯错误的,尤其是在大型软件进行测试的时候,很少有人能够保持长时间的耐心,保证软件没有任何纰漏。

那么我们势必要找到一种解决方法,就是用合适的工具,恰当的流程,训练有素的测试人员,将这三种要素结合起来完成测试工作。如果公司能够将有限的资金用来购买测试的工具,而不是用来给予测试人员加班费用,那么整个测试工作就会变得比以往高效。毕竟古话说得好,“工欲善其事必先利其器”,好的工具不但能够减轻测试人员的压力,并且能够加快整个软件开发的流程。

所以获得一个有用的测试工具是非常有必要的。但是获得工具往往不够,我们仍需要将使用工具的测试人员与工具很好的并且有机的结合起来才能够完成测试工作。缺乏合适的测试工具往往会给测试流程带来种种弊端,如何选择测试工具和如何高效的使用往往成为软件测试流程的首要问题。

“软件测试”缺乏工具

缺乏测试的工具可能会对这个软件测试的过程产生巨大影响。由于在一个相似的测试环境中,测试人员的测试用例往往十分相近。所以高度重复性的测试用例屡见不鲜,这个阶段的测试往往和开发人员不同,开发者往往没时间去找到所有的缺陷。尽管测试用例很多都是重复性的,但是可供选择的测试用例成千上万,任何一个项目都不能够有足够的时间遍历所有的测试用例。所以测试人员只能选取其中一小部分特例进行测试。当发现问题存在并且解决了该问题,测试又必须重新开始,许多重复的用例,将在此时的阶段重新开始。

手工测试往往是不准确的是不可靠的。手工测试的随意性比较大,最好的情况,使用的测试脚本运行测试用例进行测试,最坏的情况是可能不能进行重复的随机测试。即使是在最好的情况Ian,测试人员本身所具备的技术水准和知识范围,能力等因素也能很大程度上影响测试正确进行的关键因素。除此之外,准确使用测试脚本,全面测试系统的各个方面,以及完整的记录测试脚本。我们有必要怀疑手工测试的准确性。没有什么办法来验证手工测试的准确性,不能够知道测试人员是否完整的且严格的执行了每一个步骤。真正的回归测试还要要求完整的重复以前的测试步骤,那么如果测试结果与以前的测试结果出现一丝丝的误差,那么整个软件的质量就必须遭到质疑。手工测试并不能完全满足不同类型的要求。

手工测试是冗长乏味的。测试过程的冗长的无聊是测试人员未能及时发现问题的原因。使用自动测试工具不仅可以大大提高测试的速度,还能够准确的对比出与先前测试中存在的种种微小的差异。而往往微小的差异能反映出软件存在的问题。手工测试是劳动密集型的,项目的日程会制定的相当紧凑,以至于最少数量的测试用例都难以完成,更不必说那些需要大量测试用例的回归测试了。自动测试工具往往只需要一分钟的时间就能够完成手工测试一小时就能完成的测试用例。以此类推,成千上万的测试用例都可以用自动测试工具自动的完成,这样效率就可以提升不止60倍,时间人力就可以大量节约。大型软件的迭代更替,往往周期非常短,此时使用自动测试工具就非常合算。

“软件测试”工具

捕捉/回放工具

捕捉/回放工具通过捕捉测试过程并讲义其文件的形式记录下来。是以后自动重复测试过程成为了可能。这类工具还可以将以前的测试结果与以前的相应测试结果进行比较并且发现差别,适用于回归测试。它可以快速并且准确的进行测试和比较结果;可以准确的记录测试的步骤。不需要测试人员的介入,完全自动化。能够完整的记录测试的结果。非常实用于回归测试和性能测试。

自动测试执行工具

与捕捉/回放工具不同,自动测试执行工具的测试脚本不是通过捕捉自动生成的,而是由测试人员手工编写的。这类工具提供比较功能。它可以快速而准确的进行测试和比较结果;不需要测试人员的介入,完全自动化;可以完整记录测试结果;它非常适合回归测试和性能测试。

测试覆盖率分析工具

它用于分析在测试中模块/系统运行部分的比例。它可以同时支持多种测试指标,如测试用例实际覆盖的代码行、判断个数判断路径个数或是系统路径占整个全部被测模块的比例。它可以确定模块或是系统中尚未被测试部分,确定测试完成的程度

测试用例生成工具

测试同理生成工具是一种相当只能画的工具,可以通过软件需求、数据模型、对象模型等各种系统设计半自动生成测试用例,并保证测试同理之间尽量不存在相互覆盖,相互重复的现象。自动生成测试用例可以大大缩短测试用例的制造时间。可以尽量的减少测试的冗余,即用尽可能少的测试用例,覆盖尽可能多的系统或者软件模块。

测试数据生成工具

在不考虑数据组合的前提下,可以使用测试数据生成工具来产生测试文件和数据库。它生成的测试数据通常是随机的。因为那些由特别设计的测试用例产生的数据比较有规律,所以完整的测试数据集一般是由这两类型测试数据构成的。它相对于手工生产数据,使用该工具可以大量节省时间成本。

逻辑复杂度生成工具

它用于考察软件模块或是软件系统的复杂程度。复杂程度信息可以用来评估系统出现的问题的可能性。这种工具还可以更为直观地以图表的形式现实软件模块的逻辑结构。可以认为风险分析系统可维护性缝隙提供复杂逻辑的信息,借助这些信息,测试人员可以优化测试用例。扩大对被测软件模块或者代码段的覆盖范围。

缺陷跟踪工具

它用于收集和分发缺陷信息。大部分缺陷跟踪工具都需要局域网作为支持环境。缺陷信息通常以电子邮件的形式在网络中流传。借助缺陷跟踪工具,测试人员可以很好的生成总结报告。有利于手机有用的缺陷信息并且进行有效的分析;可以建立起无纸化缺陷跟踪系统,安全准确的保存缺陷信息;可以简单的快捷的获取总结和生成缺陷信息。

测试管理工具

它用于组织和跟踪各种与测试相关的组件。如测试脚本、测试用例和、测试进程等。它又利于加强测试的控制和管理。可以方便地确定测试工作的当前状态;可以通过缝隙导致问题的原因,来持续不断的改进测试过程。

测试脚本

它用于说明在一次测试中要执行的一系列动作。他可以是手工编写的,也可以是自动生成的。即使十分不了解测试过程,也可以使用测试用例进行测试;支持重复测试。

“软件测试”工具使用

确保管理层对购置工具的支持管理层的支持显得尤为重要,它意味着既可以获得重要的工具资金,又可以向其他使用者展示使用工具的重要性。如果人们看不到管理层的支持可能会认为这个工具不太重要转而不去使用它。用团队行为选择工具 有计划的团队目标往往比起孤军作战更能获得成功。大量的建议和反复的讨论能够让计划成功。让现有的工具发挥最大效益如果现有的工具能够支持我们完成各种工作的,再去添加别的工具就没有意义了。所以只有在遇到实在需要工具解决的问题时再去添加工具。提高人员的素质和改善测试流程施工局发挥最大效益 如果测试人员没有良好的使用工具的素质,只会加快程序向不好的方向去进行。使用正确的工具使用正确的工具能够加快测试速度,就好比使用斧头砍树和使用电锯锯书一个道理。


推荐阅读
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文探讨了如何在发布 XenApp 应用时,通过命令行参数实现启动时的参数传递。特别介绍了静态和动态参数传递的方法,并详细解释了 ICA 文件中两种参数传递方式的区别及安全检查机制。 ... [详细]
author-avatar
想飞的糊涂虫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有