第五步,测试用例生成 一个测试用例包括4个部分:环境条件、输入、方法调用序列、预期输出。对于场景B,所有这些信息已从前面的四步中生成,只要将它们组合在一起就可以了。场景B的测试用例为:
环境条件:DHCP-Server:offer=true,hasFreeIP=false
输入:用户调用connect操作。
方法调用序列:
Client.discover, Server.isServeroffer,
Client.request, Server.hasFreeIP,
Server.nak, user.notConnected
预期输出:返回”nak”消息,表示申请IP不成功。
在这个测试用例中,方法调用序列就是该场景中的消息序列。
可用同样的方法为所有场景生成测试用例。
4、结束语
文[4]出现了一个基于UML顺序图设计的面向对象的软件的自动测试的概念和相应的实现工具SeDiTeC,该方法提出了一个可测试的顺序图的规则,并在SeDiTeC中实现了完整的测试过程,但是没有详细描述如何从顺序图中生成测试用例。文[5]指出了多态性对顺序图测试场景的影响,提出了相应的对策,有效地解决了测试消息序列中多态消息的测试问题,但没有说明测试用例如何生成。文[6]同样提出了一个顺序图生成测试用例的方法,但是该方法没有给出场景的分析,而且生成的用例数太多,工作量大。
本文提出的基于UML顺序图生成场景测试用例的方法,包括找出场景和生成测试用例,改进了这类方法生成测试用例数多、工作量大的缺点,减少了测试用例的重复生成。
参考文献
[1]UML Specification 1.5,http://www.omg.org/uml
[2]R.Droms. Dynamic Host Configuration Protocol (DHCP),http://www.ietf.org/rfc/rfc2131.txt. March 1997
[3]Hans-Erik Eriksson著,余安萍等译,UML 2工具箱,电子工业出版社,2004
[4]Fraiki F, Leonhardt T, SeDiTec. Testing Based on Sequence Diagrams.In:the 17 IEEE Int1.Conf.on Automated Software Engineering (ASE’02) Sep.2002.261267
[5]黄陇,于洪敏,陈致明,多态性在UML顺序图测试场景生成中的影响及对策,计算机工程与设计,2005
[6]江泽凡 王林章等,基于UML顺序图的测试方法,计算机科学,2004