首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

聊一聊软件测试的原则有哪些

“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”应避免测试用例用后即弃,除非软件本身就是一个一次性的软件计划测试工作时不应默许假定不会发现错误程序某部分存在更多错误的可能性...比如,在本书第1章三角形程序的测试中,总是出现这个倾向。原则6:检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”。这条原则是上条原则的必然结果。...原则7:应避免测试用例用后即弃,除非软件本身就是一个一次性的软件。这个问题在采用交互式系统来测试软件时最常见。人们通常会坐在终端前,匆忙地编写测试用例,然后将这些用例交由程序执行。...原则8:计划测试工作时不应默许假定不会发现错误。项目经理经常容易犯这个错误,这也是使用了不正确的测试定义的一个迹象—也就是说,假定“测试是一个证明程序正确运行的过程”。...该原则的另一个说法是,错误总是倾向于聚集存在,而在一个具体的程序中,某些部分要比其他部分更容易存在错误,尽管没有人能够对这种现象给出很好的解释。

11510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    有史以来最全的异常类讲解没有之一!第三部分爆肝4万字,终于把Python的异常类写完了!最全Python异常类合集和案例演示,第三部分

    运行结果 由于直接修改 sys.modules 并不会总是触发 SystemError(尽管这是非常危险和不推荐的做法),并且我们注释掉了最可能导致崩溃的代码,因此上述代码的运行结果是: Before...这个异常通常在尝试将 Unicode 字符串编码为字节序列时抛出,如果 Unicode 字符串包含无法用指定编码方式表示的字符,就会触发这个错误。...当第一次调用 use_deprecated_function() 时,显示了 DeprecationWarning 警告,并打印了被弃用函数的功能消息。...当第二次调用 use_deprecated_function() 时,由于 ‘once’ 过滤器的作用,没有重复显示警告,但仍然打印了被弃用函数的功能消息。...在实际开发中,UserWarning 可以用于多种场景,比如提醒用户某个功能即将被弃用、某个参数的值不在推荐范围内、或者某个操作可能会导致意外的结果等。

    10200

    NumPy 1.26 中文文档(五十五)

    在将浮点值转换为整数时出现错误时,用户应该期望无效值警告。 用户可以使用 np.errstate 修改这些警告的行为。 浮点数到整数的转换警告可能与平台相关。...(gh-22542) 不再在 GCC-6 上测试 NumPy 构建 Ubuntu 18.04 已在 GitHub 操作中弃用,Ubuntu 20.04 上不可用 GCC-6,因此不再测试使用该编译器的构建...(gh-22542) 不再在 GCC-6 上测试 NumPy 构建 Ubuntu 18.04 已在 GitHub 操作中弃用,Ubuntu 20.04 上不可用 GCC-6,因此不再测试使用该编译器的构建...在将浮点值转换为整数时出现错误时,用户应该期望无效值警告。 用户可以使用np.errstate修改这些警告的行为。 请注意,对于浮点到整数的转换,给出的确切警告可能取决于平台。...对于将浮点值转换为整数时出现的错误,用户应该期望无效值警告。 用户可以使用np.errstate修改这些警告的行为。 请注意,对于浮点到整数的转换,给出的确切警告可能取决于平台。

    13010

    【Python】已解决:FutureWarning: Function get_feature_names is deprecated; get_feature_names is deprecated

    由于Scikit-Learn库的更新,一些方法被弃用并逐渐被新方法取代。...= encoder.get_feature_names() print(feature_names) 解释错误之处: 使用了已弃用的方法get_feature_names,会导致在运行时出现FutureWarning...五、注意事项 在编写和维护代码时,需注意以下几点,以避免类似的警告和错误: 关注库的更新:定期关注所使用库的更新日志和版本变更,及时调整代码以适应新版本。...使用最新的方法:在官方文档中查找并使用最新推荐的方法,避免使用已弃用的方法。 代码注释和文档:在代码中添加注释,说明使用某些方法的原因,特别是在方法即将被弃用时。...版本兼容性测试:在升级库版本时,进行充分的测试以确保代码的兼容性和功能完整性。 编码风格一致性:保持一致的编码风格,遵循团队约定的编码规范,以提高代码的可读性和维护性。

    20010

    Facebook将MySQL升级至8.0

    Facebook 的许多功能与 8.0 中的类似功能不向前兼容,需要弃用和向前迁移。 MyRocks 增强功能需要在 8.0 中运行,包括本机分区和崩溃恢复。...Facebook编写了集成测试来检测在5.6版本和8.0版本上运行的每一部分自动化,并验证它们的正确性。在进行测试时,Facebook发现了几个错误和行为差异。...Facebook对 8.0 服务器的查询和性能测试时,发现了一些需要立即解决的问题。 在 ACL 缓存周围发现了新的互斥量争用热点。当同时打开大量连接时,它们都可以阻止检查 ACL。...当存在许多 binlog 文件且高 binlog 写入速率频繁轮换文件时,binlog 索引访问也会出现类似的争用。 几个涉及临时表的查询被破坏。查询将返回意外错误或运行时间过长而超时。...其次,检测 API 更改要困难得多,因为 5.7 可以向应用程序客户端提供弃用警告以修复潜在问题。Facebook需要运行额外的影子测试来发现故障,然后才能迁移生产工作负载。

    99930

    NumPy 1.26 中文文档(五十四)

    __getitem__签名 #24328: 错误:修复 choose 引用计数泄漏 #24337: 测试:修复在没有 BLAS/LAPACK 的构建中运行测试套件的问题 #24338:...#24356: 测试:修复最近 setuptools 中的弃用问题的 distutils 测试… #24375: 维护:更新 cibuildwheel 到版本 2.15.0 #24381:...__getitem__ 签名 #24328: 错误修复:修复 choose 引用计数泄漏 #24337: 测试:修复在没有 BLAS/LAPACK 的构建中运行测试套件 #24338:...#24356: 测试:修复 distutils 测试以适应最近 setuptools 中的弃用… #24375: 维护:更新 cibuildwheel 到版本 2.15.0 #24381:...(从 NumPy 1.20 开始弃用) (gh-23660) 在astype或asarray等数组创建函数中,当转换为子数组 dtype 时出现的FutureWarning现已最终确定。

    16510

    如何在生产环境中实现Elasticsearch的零停机升级

    启用弃用日志(deprecation logging),以验证没有使用弃用的功能。 升级前重建索引(reindex)! Elasticsearch只能读取前一个主要版本(major)中创建的索引。...尽管如此,在大多数情况下,测试环境通常没办法一一模拟的现实世界中的场景。因此,总是建议有一个回归路径,以防万一出现问题。...绿色部署必须经过高度测试,因为迁移过程很突然。如果出现问题,所有用户都会立即受到影响。...Rally是在Elasticsearch上运行基准测试的一个很好的工具。这与我们在Elastic上用于测试Elasticsearch构建的工具相同。...最后一步是确保您有一个自动过程来最大程度地减少人为错误。如果您在Elastic Cloud上运行,则只需单击即可完成Elasticsearch升级!

    7.2K50

    谷歌 Flutter 1.17 发布

    但是,旧名称已被弃用,因此您将收到警告,以鼓励您采用新名称。 下表总结了2018 Material TextStyle的名称和配置。...在进行此更改之前,如果您有任何分析错误,“热重装”将不会重装您的代码。如果分析错误不会影响您当前正在运行的代码(例如在单元测试中),那么这可能会令人沮丧。...进行此更改后,分析错误不足以阻止Hot Reload正常运行,而取决于VM的编译器错误。...最后但并非最不重要的一点是,如果您发现自己发生Flutter崩溃,这些工具将提示您提交错误。 团队会密切关注这些错误报告的严重性和频率,因此请在出现提示时进行记录。...#42100 使用pushReplacement(…时,运行先前路线的辅助动画 #45940弃用UpdateLiveRegionEvent #49389延迟快速滚动时的图像解码 #49391文本选择溢出

    3.5K10

    绝对干货!Facebook迁移MySQL 8.0的全过程详解!

    这意味着 5.6 中一些活跃的 API 可能在 5.7 中被弃用,并在 8.0 中移除,需要对使用这些 API 的应用程序进行更新。...一些 Facebook 功能与 8.0 中的类似功能不兼容,需要设计相应的弃用和迁移路径。为了在 8.0 中运行 MyRocks,需要对其进行增强,如支持本地分区和崩溃恢复。...4 查询与性能问题在对 8.0 服务器进行查询和性能测试时,我们发现了一些需要紧急解决的问题:我们发现 ACL 缓存的某些区域出现了新的互斥锁竞争热点。...涉及临时表的某些查询无法正常运行。这些查询可能返回意外的错误,或者运行时间过长,最终超时。...5.7 原本可以通过弃用警告帮助我们修复潜在问题,而我们不得不运行更多影子测试来预先捕获可能的故障。采用能自动转义模式对象名称的 mysql 客户端软件,有助于减少兼容性问题。

    12910

    Sysdig 2021 容器安全和使用报告(上篇)

    我们的企业客户用数据告诉我们,容器普遍寿命较短,对于容器环境安全性和合规性的问题研究是很重要的。今年的调研结果与去年的报告一致,大约有一半的容器寿命在5分钟以内。...尽管许多团队对识别漏洞有很强的意识,但他们错误的配置为攻击者敞开了大门。事实上,报告显示,大多数容器镜像配置过于随意,其中58%的容器使用root权限运行,这伴有严重的安全隐患。...2021年末正式弃用Docker。...值得注意的是,Kubernetes项目官方宣布将在2021年底正式弃用Docker。确切地说,containerd是Docker公司过去一直在使用的底层工具。...内嵌扫描-当使用内嵌扫描时,镜像分析阶段直接在CI/CD流水线、镜像仓库或容器运行时进行。扫描结果元数据被发送到Sysdig后台进行评估,评估结果将被发送回工作人员(评估报告为PDF或JSON格式)。

    2K20

    因拼写错误,17个数据库被删除,微软 Azure DevOps 罢工十小时

    Mattingly 表示 Azure DevOps 工程师会定期对生产数据库进行快照(Snapshot)处理,以便及时调查报告上来的问题或测试性能是否改进,这些举动都依赖一个每天运行的后台系统,该系统会在特定时间删除旧的快照...在 Azure DevOps 工程师近期进行的一次代码升级中,用支持的 Azure.ResourceManager.*NuGet 包取代了弃用的 Microsoft.Azure.Management....然而拉取请求中却出现了拼写错误,误将删除快照数据库的调用改成了删除托管数据库的 Azure SQL Server 的调用,导致后台快照删除作业删除了整个服务器。...事故原因 Mattingly 指出 Azure DevOps 有专门的测试来捕捉此类问题,但是错误的代码只在某些特定条件下才得以运行,因此在现有的测试中没有很好的覆盖到。...据悉,这些问题由服务器预热任务引起,该任务通过测试调用在可用数据库列表中反复进行,恢复过程中的数据库出现了一个错误,就会触发预热测试 执行指数回退重试,导致预热平均需要 90 分钟,在正常情况下此操作只需要几秒钟

    23620

    是时候说再见了,Enzyme.js

    作者 | Piotr Staniów 译者 | 王强 策划 | 蔡芳芳 是时候弃用 Enzyme.js 了。...弃用在软件开发中意味着什么? 在编程语境中,弃用(deprecation)意味着向其他开发人员传达这样一种观点,那就是某个软件不再是首选解决方案,并且它已被更新的代码所取代。...你可能也不会花费数百个开发小时来重写你的那些久经实战考验的测试,毕竟这可能会给它们带来错误。 这样也很好!并不需要急着改变,毕竟这不是什么安全问题。...这是引入那些特性的一个很好的桥梁,这些特性可以支持你的站点上大约 10% 可能需要它们的用户。 用 RTL 编写这样的测试也比那些基于浏览器的测试更便宜,因为它们很少出现不稳定状况,而且更容易维护。...现在是时候弃用 Enzyme 了。

    46610
    领券