Questions tagged «testing»

根据软件系统的预期行为来验证该软件系统的行为。


10
测试与不要重复自己(DRY)
为什么如此鼓励通过编写测试来重复自己? 看起来测试基本上表达了与代码相同的内容,因此是代码的重复(从概念上讲,不是实现)。DRY的最终目标不包括消除所有测试代码吗?
11 testing  dry 

5
什么是衡量测试/测试人员效率的好方法?
我即将参加与管理层的讨论,以衡量我们作为质量保证组织的测试效率。这背后的主要原因是我们的团队有一半被外包出去了,我们的业务想提供一些关于我们效率/效率的指标,以便我们有基础数据可用来与承包商的服务协议进行合同参数谈判。 我已经提出了一些建议,并且我在该主题上发现的大多数意见都围绕着开发人员的效率:代码行,交付的故事点,引入的缺陷等。 但是测试人员呢?我们的测试主要是基于需求的,并且混合了手动,半自动和自动测试(不是因为我们还没有自动完成所有工作,而是因为某些事情在我们的测试系统中无法实现自动化)。

3
我应该在单元测试和集成测试之间划清界限吗?它们应该分开吗?
我有一个正在研究的小型MVC框架。它的代码库肯定不大,但是不再仅仅是几个类。我最终决定尝试一下并开始为此编写测试(是的,我知道我应该一直这样做,但是到目前为止,它的API还是非常不稳定的) 无论如何,我的计划是使其变得非常容易测试,包括集成测试。集成测试示例将遵循以下原则: 伪造的HTTP请求对象-> MVC框架-> HTTP响应对象->检查响应是否正确 因为这一切都可以在没有任何状态或特殊工具(浏览器自动化等)的情况下完成,所以实际上我可以使用常规的单元测试框架轻松地做到这一点(我使用NUnit)。 现在是个大问题。我应该在单元测试和集成测试之间划清界限吗?我是否应该一次(尽可能多地)仅通过单元测试来测试一门课程?另外,是否应该将集成测试与单元测试项目放在同一测试项目中?

6
开发人员,测试人员和业务用户是否应该具有一个统一的测试脚本?
在开发中,我通常会拥有自己的测试脚本,这些脚本将记录计划测试的数据,方案和执行步骤。这是我的开发测试计划。将功能部署到Test后,测试人员将使用自己编写的测试脚本对其进行测试。在UAT中,业务用户然后使用他们自己的测试计划进行测试。 回想起来,这似乎提供了更好的覆盖范围,开发测试混合了黑盒和白盒测试,而测试人员和企业用户则专注于黑盒测试。但是另一方面,这带来了仅在每个阶段执行的独特测试用例(即,测试人员认为仅在测试阶段执行的一些用例),并且希望开发人员错过它,这使其成为查找/错误。 。 从一开始就合并测试脚本是否值得?因此,使用一个统一的测试脚本,还是在前期做起来有点困难?

5
可以为单元测试重复代码吗?
我为类分配编写了一些排序算法,并且还编写了一些测试以确保算法正确实现。我的测试只有10行,其中有3行,但是3行之间只有1行更改,因此有很多重复的代码。将此代码重构为另一个可以在每次测试中调用的方法是否更好?然后,我不需要编写另一个测试来测试重构吗?有些变量甚至可以上移到类级别。测试类和方法是否应该遵循与常规类/方法相同的规则? 这是一个例子: [TestMethod] public void MergeSortAssertArrayIsSorted() { int[] a = new int[1000]; Random rand = new Random(DateTime.Now.Millisecond); for(int i = 0; i < a.Length; i++) { a[i] = rand.Next(Int16.MaxValue); } int[] b = new int[1000]; a.CopyTo(b, 0); List<int> temp = b.ToList(); temp.Sort(); b = temp.ToArray(); MergeSort merge = new MergeSort(); …


6
质量检查应该属于开发部门吗?
我为一家拥有产品开发部门很长时间的小公司工作。但是,我们还没有一个质量检查/测试小组。 我们希望添加一个测试小组,但正在努力确定将其最好地放在公司的组织结构中的位置。具体来说,我们将聘用一个“首席测试员”职位。应该将它们作为产品开发部门的一部分,还是作为新部门?他们应该在其他地方吗? 我们公司的结构大致如下: 首席执行官 首席技术官 产品开发总监 客户服务总监 开发者 副总裁运营 网络工程师 销售/销售工程师 主席 控制者

5
您是否应该重构专注于新功能的项目中未破坏的现有代码?
给定一个旨在为应用程序添加新功能的小型项目,所引入的更改涉及一些现有代码,涉及在某些领域中进行更新。在实施期间,我发现其中一些更新的代码具有重构的候选对象。 这是否是一个适当的重构时间,从而又需要对受影响的那些组件进行回归测试(因此可能引入的范围最初不是项目的一部分)?还是我应该推迟,完成功能,也许有一个单独的项目进行重构(尽管我有点犹豫,因为业务用户可能不会完全赞助一个不添加任何功能的项目,除非他们重视代码的可维护性...)?

6
如何解决不可复制/随机发生的错误?
我们有一个多语言网站,几天前在其中发现了一个错误。它以其他语言显示其他语言数据,并且还选择了英语之类的混合数据,但同时还在页面中显示其他语言数据,反之亦然。它很少执行此操作,但是它存在于网站中。遍历代码也无济于事,因为这种情况并非总是如此。 有什么建议可以及时发现问题?我在这里要求策略。


3
关于测试优先编程的第一个公开参考是什么?
我正在重读Martin Fowler的《重构》。在第四章建筑测试中,我遇到了以下段落。 实际上,编写测试最有用的时间之一就是开始编程之前。当您需要添加功能时,首先编写测试。这并不像听起来那样落后。通过编写测试,您正在问自己添加功能需要做什么。编写测试还着重于接口而不是实现(总是一件好事)。这也意味着在测试工作时,您有一个明确的编码点。 虽然我现在是测试驱动开发的倡导者,但我记得将近五年前刚读这本书时就没有被介绍过这个概念。 根据Amazon.com的说法,该书最初于1999年7月8日出版。这是第一本关于测试优先编程的参考书吗?
11 testing  history 


11
调试和测试有什么区别?
软件测试简介(Ammann和Offutt)在第32页中提到了5级测试成熟度模型: 级别0测试和调试之间没有区别。 1级测试的目的是证明该软件可以正常工作。 2级测试的目的是证明该软件无法正常工作。 3级测试的目的不是证明任何特定的东西,而是降低使用该软件的风险。 4级测试是一门精神学科,可帮助所有IT专业人员开发更高质量的软件。 尽管它们没有进一步详细介绍。调试和测试之间有什么区别?

4
什么是黑匣子单元测试?
我最近完成了针对硕士课程的软件工程课程的期末考试,该考试中的一个问题如下: Unit Testing is considered: a. White-box Testing b. Black-box Testing c. Either 在我7年的软件开发经验中,单元测试始终采用白盒方法。测试人员在编写测试时始终对单元的实施有充分的了解。黑盒测试总是以集成,系统和验收测试的形式出现。 但是,对考试的正确答案(根据教授的说法)是单元测试可以是白盒测试或黑盒测试。 我已经进行了一些研究,似乎很多情况下都使用“黑盒单元测试”来描述一种先测试的方法,即在代码之前编写单元测试。但是我认为这仍是白盒测试。尽管实现尚不存在,但是编写测试的人通常都对如何实现源代码有一个很好的了解。 有人可以告诉我黑匣子单元测试的工作原理(如果确实如此),以及它与白匣子单元测试有何不同?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.