高质量c编程指南_软件质量保证指南

高质量c编程指南

质量保证 (Quality Assurance)

Quality Assurance (commonly known as QA) is the means by which a product in development is checked to make sure it works as it’s supposed to. The actual methods used in QA processes vary hugely depending on the size and nature of the product.

质量保证(俗称质量保证)是检查开发中的产品以确保其按预期工作的方式。 质量保证流程中使用的实际方法根据产品的大小和性质而有很大差异。

For a personal project you will probably just test as you go, asking others to provide feedback at appropriate stages. By contrast, a banking application must have every aspect of every feature exhaustively checked and documented to ensure it is both functional and safe.

对于个人项目,您可能会随即进行测试,要求其他人在适当的阶段提供反馈。 相比之下,银行应用程序必须对每个功能的各个方面进行详尽的检查和记录,以确保其功能和安全性。

Regardless of how formal or detailed a QA process is, its aim is to identify bugs so they can be resolved before the product is released.

不管质量检查过程有多正式或详尽,其目的都是识别错误,以便在产品发布之前就将其解决。

方法论 (Methodologies)

敏捷 (Agile)

In an Agile approach to development, the aim is that each cycle of work (‘sprint’) produces working software that can be added to and improved upon iteratively. This makes the QA processes an intrinsic part of the development cycle.

在敏捷的开发方法中,目标是每个工作周期(“打印”)产生可以迭代添加和改进的工作软件。 这使质量保证流程成为开发周期的内在部分。

By testing software components at each stage of their production you reduce the risk of bugs being present at release.

通过在生产的每个阶段测试软件组件,可以减少发布时出现错误的风险。

术语 (Terminology)

自动化测试 (Automation Testing)

Testing done with pre-written scripts designed to control the execution of tests.

使用旨在控制测试执行的预写脚本完成测试。

黑盒子 (Black Box)

These test do not look inside the system under test, but treat it as ‘closed’ in the same way that the end user will experience it.

这些测试不会在被测系统内部查看,而是将其视为“封闭式”,就像最终用户会体验到的那样。

缺陷 (Defect)

Any deviation from an application’s specifications; often referred to as a “bug”.

与应用程序规范的任何偏差; 通常称为“错误”。

探索性测试 (Exploratory Testing)

An unscripted approach to testing, which relies on the tester’s unique creativity in an effort to find unknown bugs and identify regressions.

一种无脚本的测试方法,该方法依靠测试人员的独特创造力来发现未知的错误并确定回归。

整合测试 (Integration Testing)

Testing individual components/modules together to ensure they connect and interact well with one another.

一起测试各个组件/模块,以确保它们相互连接并良好交互。

负路径测试 (Negative Path Testing)

A testing scenario designed to produce an error state in a feature/application and verify that the error is handled gracefully. An example of this is inputing a series of numbers in the email field in a user registration form and checking to make sure the registration is not accepted until an actual email address is provided.

一种测试方案,旨在在功能部件/应用程序中产生错误状态并验证是否已正确处理错误。 一个示例是在用户注册表格的电子邮件字段中输入一系列数字,然后检查以确保在提供实际电子邮件地址之前不接受注册。

回归测试 (Regression Testing)

Testing done on a new build to ensure that new functionality has not unintentionally broken previously tested functionality.

在新版本上进行测试以确保新功能不会无意间破坏先前测试的功能。

烟雾测试 (Smoke Tests)

A minimalistic approach to testing intended to ensure basic functionality is working before more in-depth testing takes place. Typically occurs at the beginning of the testing process.

一种旨在简化基本测试的方法,旨在确保基本功能在进行更深入的测试之前起作用。 通常发生在测试过程的开始。

测试用例 (Test Case)

Specified preconditions, steps, and expected results referred to by a QA tester/engineer to determine whether or not a feature performs its task as expected.

质量保证测试人员/工程师参考的指定前提条件,步骤和预期结果,以确定功能是否按预期执行其任务。

白盒 (White Box)

Refers to tests performed at a structural level, within the codebase. Programmers checking that the inputs to and outputs from specific functions or components would be white box testing.

指在代码库中在结构级别上执行的测试。 程序员检查到特定功能或组件的输入和输出是否为白盒测试。

Also known as ‘Glass Box’, ‘Clear Box’, ‘Transparent Box’ because the tester can ‘see inside’ the system under test.

也称为“玻璃盒”,“透明盒”,“透明盒”,因为测试人员可以“看到”被测系统内部。

Main categories are

主要类别是

  • Unit tests (individual units of code do what they should)

    单元测试 (代码的各个单元应做的事)

  • Integration tests (units/components interact with each other properly)

    集成测试 (单元/组件可以正确交互)

  • Regression tests (re-applying tests at later stages of development to ensure they still work)

    回归测试 (在开发的后期阶段重新应用测试,以确保它们仍然有效)

There are three main techniques:

有三种主要技术:

  • Equivalence partitioning (the tested input values are representative of larger input datasets)

    等价分区 (测试的输入值代表较大的输入数据集)

  • Boundary Value Analysis (the system is tested with chosen inputs where behaviour and therefore output should change)

    边界值分析 (使用选定的输入对系统进行测试,其中行为和输出应发生变化)

  • Cause-Effect Graphing (tests are designed from a visualization of the input-output relations)

    因果图 (测试是通过输入-输出关系的可视化设计的)

其他资源 (Other Resources)

翻译自: https://www.freecodecamp.org/news/software-quality-assurance-guide/

高质量c编程指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值