|      
            2.6.1 State Transition 
              Matrix(状态转移矩阵)设置  
                
              前面说了很多的状态(State),这里就是关于状态设置的。   
                
              选择Record Types->Defect->States and Actions-> State 
              Transition Matrix,打开状态转移矩阵设置页面。   
            每个缺陷都有自己现有的State(状态),缺陷状态可以通过Action改变。 
                
            比如测试人员提交的新缺陷,状态是[等待处理],[等待处理]的缺陷经过开发人员修改后,变为[已经修改],测试人员验证[已经修改]的缺陷,发现缺陷被修复,就Action缺陷为[关闭],完成了一个缺陷的变更过程。 
                
            通常情况下,缺陷都是从[等待处理]开始,到[关闭]结束。 
                
            为了看着直观方便,所以我设计变更过程的时候,把大部分的Action和State起了一样的名字。 
                
            总共录入修改以下状态: 
                
            1.等待处理――测试人员经过提交操作,缺陷为[等待处理] 
                
            2.已经修改――开发人员修复了缺陷,经过<已经修改>Action 
                
            3.暂不修改――错误由于某种原因暂时不处理。,经过<暂不修改>Action 
                
            4.系统限制――确实是问题,但是由于开发工具的限制等原因暂时无法处理错误,开发人员经过<系统显示>Action标记缺陷为[系统限制]。 
                
            5.间接修复――在修改其他地方的时候把此缺陷记录修复,或者新版本自动修复了此问题缺陷。 
                
            6.无法再现――测试人员提交的错误无法在开发人员那里重现。 
                
            7.使用错误――测试人员由于操作等原因理解误会了某些地方。开发人员可以用使用错误来处理这些不是问题的记录。 
                
            8.等待分配――测试人员无法确认的问题,经过<提交管理员>Action使缺陷状态变为[等待分配],等待分配的问题是交给管理组人员处理的。 
                
            9.再次出现――缺陷没有被修改。 
                
            10.关闭――缺陷已修改。或缺陷不再处理。 
                
              
                
            具体的Action和State变化关系,参照2.6.2进行。 
                
                
            2.6.2 Actions设置 
               
                
            Action是变更中很重要的一个环节。每种成员对应着不同的Action,通过Action,处理各种缺陷。 
                
            选择Record 
              Types->Defect->States and Actions->Actions,打开Action设置页面。 
                
            通过鼠标右键菜单,可以添加(Add 
              Action)、删除(Delete Action)、重命名(Rename Action)、设置(Action Properties)Action。 
                
            在这里,我们保留Import、Init_Note_Entry、Send_Email_Notif三项,其他的项目,按照下表进行设置。 
                
            其中Access 
              Control选项,可以选择哪个组有此操作权限。可以设定为所有组(All Users),也可以选择部分组(User Groups),或者进行编码(SCRIPTS)控制。 
                
            Action Name          
              Type   Access             
              Control   
            提交                     
              SUBMIT                  
              All Users   
            提交管理者          
              CHANGE_STATE                 
              测试组、开发组   
            再次出现                
              CHANGE_STATE                
              测试组、开发组   
            关闭                    
              CHANGE_STATE                
              测试组、开发组   
            暂不修改            
              CHANGE_STATE       
                       开发组 
                
            无法再现            
              CHANGE_STATE            
              开发组   
            间接修复            
              CHANGE_STATE                
              开发组   
            使用错误            
              CHANGE_STATE                
              开发组   
            已经修改            
              CHANGE_STATE                
              开发组   
            系统限制                
              CHANGE_STATE                
              开发组   
            修改                
              MODIFY                 编码控制 
                
            删除                
              DELETE                  
              管理组   
                
                
              修改的编码,请参照附录。   
                
              设置完毕后,如下图所示:   
                                                 
                         
            在Actions页后面的列中,可以通过编程对Action进行限定。如果在这里对Action进行了编程限制,Behaviors中相关的状态使用USE_HOOK。 
                
            这里的编程,自己研究,我写了一些代码,但是在Behaviors中,编码控制实在有些烦琐,这里我在使用过程中就去掉了那些编码。可以在附录中找到与此相关的一些代码片段。修改的Access 
              Control的编码主要是限制非缺陷提交人只能浏览记录,不可以修改记录。   
            比如经过<无法再现>Action操作后,缺陷的状态变为[无法再现]。一定要记住,虽然两者名称,但本质是不同的,一个是State,一个是Action。 
                
            在状态转移矩阵中,右键点击状态名称,会出现列表,里面可以添加(Add 
              State)、删除(Delete State)、重命名(Rename State)、设置缺省值(Properties)State。 
                
            状态转移矩阵中,状态从列到行进行变化,比如[等待处理]列状态经过<已经修改>Action后,变为[已经修改]行状态。 
                
                
              下面是说明如何设计State Transition Matrix中的Action和State管理。  
             
            鼠标右键点击需要设置的Action状态,从列表中选择Action 
              Properties,打开Action设置窗体。选中窗体的State页,在此设计Action和State的交互关系。 
                
               
                         
                
              State页中的Source(源状态),相当于State Transition Matrix(状态转移矩阵)中的列,Destination 
              State(目的状态)相当于状态转移矩阵的行。也就是说,经过当前的Action,可以把Source中的状态,转变为Destination 
              State中的状态。可以选择多个Source,但是只能有一个Destination State。   
            下面图表是各个Action的设置情况: 
                
            Action Name   
              ;  Sourc                   
              ; Destination State   
            提交          
              ;   无                   
              ;   等待处理 
                
            提交管理者    
              ;   暂不修改、系统限制、无法再现、间接修复、使用错误  
              ; 等待分配   
            再次出现  
              ; 等待分配、已经修改、间接修复、无法再现、使用错误    
              ;  再次出现 
                
            关闭   
              ;    等待分配、已经修改、间接修复、无法再现、使用错误    
              ;  关闭  
               
            暂不修改    
              ;  等待处理、再次出现          
              ;  暂不修改 
                
            无法再现    
              ;  等待处理、再次出现          
              ;  无法再现 
                
            间接修复 ;  
              等待处理、再次出现          
              ;  间接修复 
                
            使用错误 ; 等待处理、再次出现          
              ;  使用错误 
                
            已经修改 ;  
              等待处理、再次出现          
              ;  已经修改 
                
            系统限制    
              ;  等待处理、再次出现          
              ;  系统限制 
                
                注意,以上的Action是可以按照软件的需要随时修改的,上面的表格只是一种建议。 
                
            2.6.3 
              Behaviors设置  
                
              选择Record Types->Defect->States and Actions->Behaviors,打开Behaviors设置页面。 
                
            这里是整个CQ中最麻烦的地方。主要是设置CQ中的字段在各种缺陷下的权限。 
                
            Behaviors设置中,行是各个字段,列是缺陷状态。表中内容说明字段在状态下的权限。在表中点击鼠标右键就会出现权限菜单。 
                
            字段权限包括: 
                
            1.  
              Read Only:字段只能读取,不能修改。   
            2.  
              Mandatory:字段必需填写。   
            3.  
              Optional:字段可添可不添。   
            4.  
              Use Hook:字段权限通过编程进行控制。   
            这里的内容,我就不一一列举了,根据需要自己修改。这里牵扯了我最多的精力,每次总会在这里因为字段的限制出问题,现在字段权限设置我仍然不是很满意。 
                
            注意:这里字段对应的状态是指Action以后的状态,而不是缺陷当前的状态。比如原本是[等待处理]状态的缺陷,经过<已经处理>Action后,这个时候限制缺陷的Behaviors不是[等待处理],而是[已经处理],这里要特别注意。 
                
            2.7其他设置  
            
            2.7.1 File菜单 
               
            Delete 
              Schema:删除计划。   
            Delete 
              Schema Version:删除计划的版本。这个可以选择删除任意的计划版本。   
            Undo 
              Check Out:不保留当前版本,恢复Check In状态。 
            Test 
              Work:如果使用了Test Database,就可以进行Test Work,Test Database和Product Database是不同的数据库。 
                
            Validate:校验当前计划是否有错误。这个应该在Save 
              Work前进行。   
            2.7.2 Edit菜单 
               
            Add(Edit、Delete) 
              Record Type/Family:创建(修改、删除)记录类型。我们一般所用的是Defect类型。   
            一般的添加、修改、删除操作,都可以在Edit菜单中找到,而且一些功能,只能在这里完成。 
                
            2.7.3 View菜单 
               
            Schema 
              Summary:从这里,可以看到计划的版本、连接的数据库等记录。   
            Database 
              Summary:查看使用的数据库各种信息。   
            2.7.4 Database 
               
            Delete 
              Databases:删除数据库。   
            Undelete 
              Databases:恢复原先删除的数据库。   
            View 
              Database Properties:查看数据库属性。查看计划连接的数据库的详细情况。   
            Move 
              User Database:把现在使用的数据库转移到其他的地方。比如test计划现在使用的数据库是test机器的test数据库。那么你可以通过Move 
              User Database把test计划连接的数据库设置到test8机器上的test数据库。说明的是,在移动数据库的同时,相关的缺陷记录会一起移动。实际相当于一个数据库Copy的过程。 
                
            Updata 
              User Database:更新使用的数据库。这个实际是修改数据库连接属性。Update和Move不同的地方在于,Updata只连接,不转移记录。 
                
            Set 
              Test Database:设置test数据库。这个不是我们所使用的数据库。在我们创建数据库连接的时候,选择的是Product库而不是Test库,Test库使用中会有一些问题,在最后的附录中会给予说明。 
                
            Database Timeout:Timeout 
              (延迟)和Poll Interval(间隔)设置。一般设置为0就可以了。   
                
              
                
            
            提交缺陷,除了使用CQ客户端外,也可以通过浏览器进行提交。 
                
            这里的浏览器要求IE5.01版本以上,Netscape 
              4.72版本以上。 
                
            如果想要使用CQ的Web端功能,CQ服务器在安装CQ的过程中,一定要选择Custom(自定义安装),在Choose 
              Features中,把Web Server Components选中。 
                
              
                
            下面说明CQ 
              Web服务器的配置。建议使用Win2000 Server系统。下面配置使用Win2000 Server(非域中机器)进行说明的。如果进行其他系统的配置,参照ClearQuest安装目录下books目录里面的InstallationGuideClearQuest.pdf。 
                
            CQ Web使用的是ASP。  
             
            下面的设置,都是使用的Administrators用户组中的用户登陆的系统。 
                
            
            在IE使用的过程中,缺省的Web登陆用户是anonymous(匿名用户),但是在系统中,anonymous用户并没有太多的存取权限,下面就是设置anonymous用户的存取权限。 
                
            1.  
              点击“开始->运行”,输入“regedt32”,点击确定打开“注册表编辑器”。 
                
            2.  
              在HKEY_LOCAL_MACHINE子窗体,打开“Software->Rational 
              Software->ClearQuest”   
               
                         
            3.    
              点击注册表编辑器的菜单“安全->权限”,出现ClearQuest权限设置窗口。 
                
            4.  
              点击添加,打开“选择用户或者组”界面。 
                
            5.  
              选择IUSR_机器名用户,这里我选择的是IUSR_TEST 
                
            6.  
              点击添加,再点击确定,选择IUSR_TEST用户并关闭“选择用户或者组”界面。 
                
            7.  
              在名称中选中刚才添加的Internet来宾账号,在权限中,允许完全控制。 
                
               
                         
            8.  
              选择“允许将来自父系的可继承权限传播给对象”,点击“确定”完成权限设置。 
                
            9.    
              在HKEY_USERS子窗体,打开“.Default->Software->Rational 
              Software->ClearQuest”   
            10.              
              重复第3步到第8步,设置HKEY_USERS。 
                
            
            非NTFS格式的机器可以不用看这一小节。 
            在NTFS格式的机器上,每个目录都有相应的读取权限,所以下面的就是设置internet匿名用户也有Web目录的读取权限。 
                
            在CQ的安装目录下,有一个WWW目录,鼠标右键点击WWW目录,出现WWW目录属性设置界面,选择其中的安全页,点击“添加”按钮,选择IUSR_机器名的用户添加到用户列表中,如下图所示,点击“确定”完成WWW目录权限设置。 
               
                         
            我个人不很喜欢NTFS格式,也许安全性高了些,但使用不是很方便,所以我本身用的TEST机器是FAT32格式,FAT32格式的机器不用进行目录权限设置。上面的抓图使用的是TEST8机器,和前面的有差别,这里要特别注意。 
                
            如果是NTFS格式的机器,安装的时候,可能没有安装cache目录。手工在WWW目录中添加cache目录,并按照上面的方法,给予cache目录以ISUR_机器名的存取权限 
            |