ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » 开发工具和语言 » .NET软件架构与模式 » 来咯来咯, 都不要偷懒, 来做练习咯.

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: 来咯来咯, 都不要偷懒, 来做练习咯.
离线 Joy
一般会员



精华贴数 0
个人空间 0
技术积分 202 (9454)
社区积分 0 (49588)
注册日期 2001-11-25
论坛徽章:0
      
      

发表于 2004-8-14 14:12 
来咯来咯, 都不要偷懒, 来做练习咯.

看这里有点静悄悄, 可不能偷懒啊, 都来做个小练习吧.
大家走知道测试人员有自己的TESTCASE记录怎么做测试, 现在设想把这些TESTCASE做成XML文档.
要求:
1. XML当中的东西要很容易转化到一个DATABASE里去, 反之, DATABASE里的东西也要很容易转化成XML文档.
2. 因为这个TESTCASE里边有些元素可能会改,或是增减, 要求XML文档有伸展性.
3. 用SCHEMA不用DTD.


我在下边做了个XML稳当的初稿, 大家看看如何.
问题: <requirement>,<action>, 和<expectedouput>该怎么做才好,就这么都放一堆了, 还是再分开点好呢.  因为我还要做一个网页介面, 当有人把相关的资料都填好并按下"提交", 就会自动生成XML文档或是存进DATABASE(由提交人决定).  而将来还是通过网页介面把存好的TESTCASE再显示给人看, 所以应该有不少东西要考虑. 如果把东西都放一堆, 我怕将来显示的是后不是1,2,3的很偶条理的显示出来.
顺便问问, 大家知道PHP处理XML的能力如何吗?  我想用PHP做那网页介面. 或是JSP, 因为JAVA做很多东西都很方便.

这是TESTCAE的基本构造:

Productname
-name
-version
Componentname
-name
-verison
Author
-name
-group: development, qa, fieldengineer
Testtype: Blackbox, Whitebox, Graybox
Casegroup: Installationtest, Smoketest, GUItest..
Testcaseid: assigned by database
Priority: Very high, Hight, Medium, Low
Description: can be some paragraphs
Requirement: can be some paragraphs
Action: can be some paragraphs
Expectedoutput: can be some paragraphs
Testcaseversion:
Tester:
Testreulst:
-buildnumber
-result: pass, fail
status: open, supercede
Arrivaltime: assigned by system
Lastmodifiedtime: assigned by system

一个TESTCASE写成XML的样板, 多提提意见啊.

<?xml version="1.0" encoding="UTF-8"?>
<productname>
<name>Hello World</name>
<version>1.1.0</version>
</productname>
<componentname>
<name>Println</name>
<version>1.2.0</version>
</componentname>
<author>
<name>joy</name>
<group>qa</group>
</author>
<testtype>blackbox</testtype>
<casegroup>smoketest</casegroup>
<testcaseid>1</testcaseid>
<priority>very high</priority>
<description>This test case should be performed along with other smoke test cases before other testing are conducted.</description>
<requirement>1. The installation test has been passed.
                2. The program can be start up.
                3......
</requirement>
<action>
1. do.....
2. do....
3. do...
4. do...
</action>
<expectedouput>
1. it ....
2. it ...
3. it...
</expectedouput>
<testcaseversion>1.0</testcaseversion>
<tester>me</tester>
<testresult>
<buildnumber>1.1.1</buildnumber>
<result>pass</result>
</testresult>
<status>open</status>
<arrivaltime>2004/08/13 22:49:38</arrivaltime>
<lastmodifiedtime>2004/08/13 22:49:38</lastmodifiedtime>




顶部
离线 chooli
一般会员


精华贴数 2
个人空间 0
技术积分 430 (4586)
社区积分 0 (121580)
注册日期 2004-6-28
论坛徽章:1
管理团队2006纪念徽章     
      

发表于 2004-8-15 22:19 
唔,让我来分析一下:

首先,看看你的XML内容是设计用于显示的呢?还是用来作为数据进行存储和处理的。
如果设计用于显示的,那就尽可能的保存文档的自然格式,包括空格和自然标记;
如果设计用于数据存储和处理的,那就要尽可能的把格式抽离,并把可节点化的内容变成一个独立的节点或属性。

比如:
<requirement>1. The installation test has been passed.
                2. The program can be start up.
                3......
</requirement>

如果是用于显示的,那这部分的内容应该是:
<requirement>
   1. The installation test has been passed.
   2. The program can be start up.
   3......
</requirement>
注意:必须连空格也不能忽略。

如果是用于数据存储和处理的,那这部分的内容应该是:

<requirement>
   <item>The installation test has been passed.</item>
   <item>The program can be start up.</item>
   ......
</requirement>
注意:空格不重要。

总之,注意XML中标记的使用是应用XML应该特别关心的部分。

如果要把XML储存到数据库里,那就有很多方法,如果你想独立的存储XML,那可以考虑使用XML数据库啊,很适合专门储存和处理XML内容。


__________________
观察世界,创造世界
顶部
离线 yining
非典型性会员


精华贴数 17
个人空间 0
技术积分 13192 (87)
社区积分 12572 (122)
注册日期 2001-11-13
论坛徽章:31
现任管理团队成员2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:足球生肖徽章2007版:蛇生肖徽章2007版:鸡
生肖徽章2007版:龙生肖徽章:猪生肖徽章:虎   

发表于 2004-8-16 02:46 
我会采用第二种。


__________________
Evil prevails when good men fail to act.
顶部
离线 Joy
一般会员



精华贴数 0
个人空间 0
技术积分 202 (9454)
社区积分 0 (49588)
注册日期 2001-11-25
论坛徽章:0
      
      

发表于 2004-8-16 06:04 
用XML数据库是不可能, 因为考虑到通用性的问题, 还是MYSQL吧.
内容是设计用于显示的呢?还是用来作为数据进行存储和处理的。这个问题倒没有认真想过, 原来的想法是提供功能把某些TESTCASE以XML的形式保存下来, 这么想是用于存储和处理的.


顶部
离线 yining
非典型性会员


精华贴数 17
个人空间 0
技术积分 13192 (87)
社区积分 12572 (122)
注册日期 2001-11-13
论坛徽章:31
现任管理团队成员2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:足球生肖徽章2007版:蛇生肖徽章2007版:鸡
生肖徽章2007版:龙生肖徽章:猪生肖徽章:虎   

发表于 2004-8-16 12:15 
即使是便于显示,第二种也没有劣势。


__________________
Evil prevails when good men fail to act.
顶部
离线 Joy
一般会员



精华贴数 0
个人空间 0
技术积分 202 (9454)
社区积分 0 (49588)
注册日期 2001-11-25
论坛徽章:0
      
      

发表于 2004-8-17 00:23 
如果用第二种...

现在我是先做DATABASE SCHEMA, 后做XML那部分功能.
例如我会把
<requirement>1. The installation test has been passed.
2. The program can be start up.
3......
</requirement>
里边的
1. The installation test has been passed.
2. The program can be start up.
3......
都放到一个TEXT COLUMN里. 把XML里的<item>加一起放DATABASE容易.  反过来要DATABASE里的东西(那个TEXT COLUMN)的东西做成<item>就麻烦多了.


顶部
离线 chooli
一般会员


精华贴数 2
个人空间 0
技术积分 430 (4586)
社区积分 0 (121580)
注册日期 2004-6-28
论坛徽章:1
管理团队2006纪念徽章     
      

发表于 2004-8-17 00:38 
根据你所提供的TESTCASE的XML事例,基本是不需要进行修改了。除了我和yining都赞成把包含集合的某些标记如requirement的text内容再分成子集,这样容易被保存和处理。

但建议你不要尝试把树形结构的XML与二维表对应起来,否则会很麻烦。尽可能保持XML的层次结构,要么你就不要保存XML,只在显示时才生成XML。

我以前也曾经作过一个类似的用Web+XML文档进行Bug管理的小型应用软件,很有趣,特别是在后来为XML文档添加搜索功能时,得以尝试对XML进行初级的数据管理和查询尝试。

因此建议你一开始就要认真设计和管理好你的XML文档,当数据量和复杂度增加时,就会体会到维护一个好和坏的XML文档是什么感觉。


__________________
观察世界,创造世界
顶部
 
    


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问