For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都在学习软件测试行业的相关技术知识等内容,而本文我们就通过案例分析来了解一下,用户行为驱动测试概念与应用分析。
从根本上来说,测试的价值体现在测试能否确定软件正常工作。我们对测试越有信心,在变更代码时就越不需要依靠自己进行回归测试来发现潜在的缺陷,因为我们相信测试会为我们做到这一点。
反过来,这种对测试的信心取决于测试是否与实际用户行为相似。在不了解任何内部细节的情况下,在系统边界运行的测试场景必然会比在较低级别运行的测试为我们带来更多的信心。
从本质上讲,我们从测试中获得的软件开发的信心是衡量测试价值的主要指标。我们的目标也是尽可能的提高该项指标。
当然,也需要考虑其他因素的作用,例如成本、速度、并行化执行的能力等等,这些都很重要。测试金字塔对这些因素如何相互关联做出了强有力的假设,但这些假设并不普遍存在。
此外,这些因素对于增强信心没那么重要。一个测试需要很长时间才能运行完成,但提供了很多对代码的信心,仍然比一个非常快速和简单但什么都没做的单元测试有用得多。
出于这个原因,我发现应该尽可能地编写高度集成的测试,并且同时保证速度和复杂性在合理范围内。
这是否意味着我们编写的每个测试都应该是端到端的测试?答案是否定的,但我们应该尽可能朝着这个方向努力,同时将不利因素保持在可接受的水平。
可接受的水平应视具体项目开发上下文而定。归根结底,这些测试由开发人员编写并在开发过程中使用,这意味着它们不应该成为维护的负担,并且应该可以在本地构建和CI上运行。
这样做意味着您终用例集中可能会有一批集成规模不同的测试用例,并且似乎没有清晰的代码结构。在单元测试中不会遇到这个问题,因为每个测试都与特定的方法或函数耦合,因此单元测试的结构通常映射了代码本身的结构。
需要说明的是,有没有清晰的结构并不重要,因为是否按类或模块组织测试并不重要,清晰的结构只是单元测试的副作用。相反,测试应该按照它们要验证的实际面向用户的功能进行划分。
此类测试基于软件的功能需求,描述软件具有哪些功能以及它们如何工作,因此通常被称为功能测试。功能测试不是测试金字塔中的某一层,而是与之正交的一个概念。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。