我是软件质量保证的新手。我的老板告诉我,找出我们如何在我们的公司中解决这个问题。请有人告诉我,我可以使用哪种软件质量保证以及可以用于软件质量保证的开源工具。

有帮助吗?

解决方案

您可以尝试阅读“伟大与善良”的博客,像Hi'Bliki'上的Martin Fowler和Bob叔叔的Blathers上的Robert Martin这样的人……以及Joel Spolsky现在在软件上的Joel现在已删除。所有质量的意见都很好。

当前使用Java和工具(例如Macker和Findbugs)检查代码正确性和遵守指南。

为了重复性和请求管理,单位测试会通过构建服务器(例如哈德逊)或从源控制系统提取的代码上自动运行的单元测试是一个好主意。它还将提供一些指标的“权力”,以便您可以展示代码构建,测试等。

最终,尽管这只是归结为关心自己在做什么的好人。

其他提示

这都是关于测试,测试,测试。有许多工具可以帮助您实现这一目标,例如单元测试框架,代码分析仪,内存剖道仪等。您使用的工具取决于您公司用于其软件的编程语言和开发平台。

正如其他人所说,测试是软件质量检查的重要组成部分。但是我很惊讶没有人提到代码评论。看看如何将同行代码评论集成到您的开发过程中;这是提高代码质量并在整个团队中分享知识的好方法。您越早检测到一个问题,修复它的越容易和便宜,因此请考虑每个源代码更改的代码审核。

如果您想对质量保证进行出色而彻底的介绍,请阅读第二部分和V 代码完成 史蒂夫·麦康奈尔(Steve McConnell)。实际上,阅读所有内容 - 它提供了如何提高代码质量和指标(您可以向管理层显示)来解释不同质量检查技术的好处的实用示例。

我提到的章节包括:

  • 设计概念和实践以提高质量
  • 高质量的例程
  • 防御性编程
  • 伪代码编程
  • 改善软件质量的技术(包括对相对有效性的评估)
  • 何时进行质量保证
  • 协作构建(包括配对编程,代码检查)
  • 开发人员测试
  • 调试(包括心理考虑)
  • 重构
  • 代码调整策略和技术

引用麦康奈尔的软件质量原则:

提高质量会降低发展成本

这也与使用的验证过程有关。您可以整天测试您的软件,但是如果您不知道该软件的意图以及预期的结果是您可以完全测试错误的事情。有一本真正的好书,列出了一个可靠的框架(如果您的公司获得ISO认证,也将涵盖任何ISO要求): http://www.amazon.com/computer-system-management-validation-cycle/dp/1932828095

正如伯纳德(Bernard)上面所说,您需要进行测试。如果您在Java开发,则可以使用Junit(在.NET中类似地工作)。单位测试仅仅是开始,您可能会查看代码覆盖工具,以指示您的单元测试的完整程度(开源工具Emma和Cobertura为Java提供此功能)。您也可以使用哈德森(Hudson)在检查到源树(Hudson)时自动执行这些测试(哈德森(Hudson)会向您指出您的发展的稳定性,测试案例案例案例的波动率很多,表明您正在做很多破坏例如)。

之后,您可以查看诸如Java的Findbugs之类的东西,以发现狡猾的做法。如果您正在使用Eclipse进行Java开发,则可以获取指标插件来对代码执行其他各种分析,但您需要知道这些指标实际上指示的内容。

最终,您的产品质量将通过您是否可以可靠地引入实现其目标而不会引起回归的变化来定义。上面的工具仅仅是开始,需要很长时间才能擅长测试(我本人不在),但是如果您向组织介绍工具和实践,则可以从那里进行工作。

通常,不要陷入认为这是一个IT-STAFF问题的常见陷阱。显然,您不希望代码中的错误,并且有许多工具/过程有助于解决这个问题-QA确实是一个更大的范围过程。如DBA_ALEX上面提到的那样,您需要知道使用软件为业务解决的问题,归根结底,需要参与商业机构来回答该问题。确保您的最终解决方案包括IT和业务的人...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top