● 确保用户界面和商业逻辑的分离,使得我们可以在适当的层次进行测试(用户界面或业务层)。这允许测试工具(如FIT/ FITNESSE)可以在UI设计没有最终确定或没有UI的情况下通过API进行测试。
● 可以更有效地使用UI对象的ID来完成UI的自动化测试
● 当外部系统不可用或仍处于开发阶段的时候,构建可配置的模拟系统来测试应用程序
软件测试的新趋势
● 从“精小”方面看测试 – 测试如何能够消除在交付过程中的浪费。这个思想确实可以驱动在工具方面和构建一个更具协作性的测试理念方面的改变,这种测试理念可以综合考虑利用IT项目中每个个体的能力而不仅仅是测试人员。
● 测试作为一个持续的反馈机制 – 测试正在渐渐成为一个持续的反馈机制,而不是在开发周期末尾的、已计划的活动。在一个构建流水线中,集成到持续的事件驱动机制中的功能测试意味着测试被应用程序的变化所驱动,而不是时间表所驱动。
● 用于定义测试的更高级语言 – 这些语言可以被非IT客户人群所理解。这使得测试可以被其他人所理解,而且允许不同的项目相关利益者或干系人(stakeholder)了解测试的价值。
● 在项目生命周期的早期开始自动化 – 正在开发的工具和框架使得测试维护是一个相对简单的任务。我们认为,由于测试代码和开发人员的代码类似,因此也可以从快速开发环境中的开发实践里获益,如重构(用以在代码中进行小的设计变更,而不影响行为。被目前的许多IDE所支持)和基于良好的面向对象编程的测试框架。
● 不仅仅是GUI驱动测试, 而且通过GUI的各个层次(包括底层)驱动测试。例如,测试和反馈一样重要,所以不管在哪个层次进行测试,关键是提供正在构建的应用程序是否正确的反馈。如FIT/ FITNESSE测试框架有助于构建可重复的、可扩展的、易读的非GU测试套件。
● 开源软件作为商业测试工具的可能的替代 – 商业工具提供商在自动测试领域并不具有绝对的优势。一个开发人员和测试人员的大型社区正在推行开源工具的广泛使用和开发。成功的工具和框架(如Selenium和 Fitnesse)就是开源工具在测试领域的有力证明。
新一代的专业测试人员
● 测试人员不再被看做搞怪的人(monkey tester)或者是令人扫兴的人(party pooper),而是在产品环境中应用程序可成功交付的干系人。
● 测试人员表现为客户和项目干系人的代表。
● 测试人员需要展示其对业务、客户需求的优先级和市场实际状况等的理解能力。
● 测试人员保护客户和项目干系人的利益,同时支持开发人员开发出更好的软件产品。
● 测试人员帮助开发团队避免偏离正确的轨道(局面不失控),如风险抑制、用正确的方式构建正确的东西、在开发周期早期检测应用程序的薄弱环节或区域。
● 测试人员将逐渐地将测试和开发团队的敌对关系转换为协作的关系。
21世纪的组织需要在交付周期的早期引入测试以提供快速的反馈,构建安全而完整的自动化测试以满足应用程序快速变更的需求,并较早让用户参与以构建正确的、有价值的测试。为了实现这些,他们需要接受多技能的职业培训,以获得最先进的测试方法。单独的测试人员不能带来测试的高效,需要增加测试人员和业务专家、测试人员和开发人员以及测试人员和最终用户之间的协作。鼓励使用敏捷方法、工具和技术,从而有助于随时随地的协作来很好地应对变更。
文章来源于领测软件测试网 https://www.ltesting.net/