测试分类技术与TestNG

发表于:2008-4-01 14:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

系统测试
  系统测试处理一个完整的软件应用程序,验证外部接口,如Web页面、Web 服务端点、GUI、按照设计端到端地完成工作。因为系统测试处理的是整个系统,所以往往在开发的后期创建。除增加了设置和配置时间之外,系统测试还倾向于具有更长的执行时间。

  例如,以下测试使用 jWebUnit 测试一个Web站点的登陆功能。请注意,这个测试中做了许多假设,如可用URL、实际上拥有有效账户的“tst”用户、未提及交易历史记录等。这些隐含的依赖项通常需要在测试运行前完成一个配置步骤。

public class LoginTest  {
private WebTester tester;
/**
* @testng.before-class = "true"
*/
protected void init() throws Exception {
this.tester = new WebTester();
this.tester.getTestContext().
setBaseUrl("http://stocktrader.com");
}
/**
* @testng.test
*/
public void verifyLogIn() {
this.tester.beginAt("/");
this.tester.setFormElement("user", "tst");
this.tester.setFormElement("psswd", "t@t");
this.tester.submit();
this.tester.assertTextPresent("Logged in as tst");
}
/**
* @testng.test dependsOnMethods = "verifyLogIn"
*/
public void verifyAccountInfo() {
this.tester.clickLinkWithText("History", 0);
this.tester.assertTextPresent("$89.00, sold");
}
}

        开发人员应当以需求为基础,在一个持续集成环境中本地运行这些测试。每晚执行测试是个不错的策略(如果测试能够实现自动运行)。更频繁地运行测试可能消耗大量系统资源,特别是在较大的环境中。但有了合理的硬件规划和更加完善的自动化,团队就能更频繁地运行这些测试。

实现TestNG分类
  将TestNG测试分成三类就像使用上面所讲的group注释一样简单。通常不会有一个具有跨不同测试粒度的方法的测试类,所以在类的级别上,可以有效地应用标记。

  例如,下面的类被标记为属于unit测试组。请注意,HierarchyBuilderTest是怎样依靠HierarchyBuilder类型来验证Hierarchy类的行为的。由于这一关系结束于不依赖文件系统或数据库的HierarchyBuilder,因此实际上可以把它看作单元测试:

import org.testng.Assert;
/**
* @testng.test groups="unit"
*/
public class HierarchyBuilderTest {
private Hierarchy hier;
/**
* @testng.before-class = "true" groups="unit"
*/
private void init() throws Exception{
this.hier =
HierarchyBuilder.buildHierarchy(Vector.class);
}
public void validateIsntNull() throws Exception{
Assert.assertNotNull(this.hier,
"should be something!");
}
/**
* @testng.test dependsOnMethods="validateIsntNull"
*/
public void validateValues() throws Exception{
Assert.assertEquals(
this.hier.getHierarchyClassNames().length,
2, "should be 2");
}
}

43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号