1、Contacts模块功能测试用例设计思路Contacts模块功能测试用例设计测试需求分析(shortcuts按钮 结合功能分析)相关的数据库表结构contacts表结构:保存所有联系人信息。字段类型Null默认assigned_user_idchar(36)是NULLidchar(36)是date_entereddatetime是NULLdate_modifieddatetime是NULLmodified_user_idchar(36)是NULLcreated_bychar(36)是NULLdescriptiontext是NULLdeletedtinyint(1)是0salutationvar
2、char(5)是NULLfirst_namevarchar(100)是NULLlast_namevarchar(100)是NULLtitlevarchar(100)是NULLdepartmentvarchar(255)是NULLdo_not_calltinyint(1)是0phone_homevarchar(25)是NULLphone_mobilevarchar(25)是NULLphone_workvarchar(25)是NULLphone_othervarchar(25)是NULLphone_faxvarchar(25)是NULLprimary_address_streetvarchar(1
3、50)是NULLprimary_address_cityvarchar(100)是NULLprimary_address_statevarchar(100)是NULLprimary_address_postalcodevarchar(20)是NULLprimary_address_countryvarchar(100)是NULLalt_address_streetvarchar(150)是NULLalt_address_cityvarchar(100)是NULLalt_address_statevarchar(100)是NULLalt_address_postalcodevarchar(20)
4、是NULLalt_address_countryvarchar(100)是NULLassistantvarchar(75)是NULLassistant_phonevarchar(25)是NULLlead_sourcevarchar(100)是NULLreports_to_idchar(36)是NULLbirthdatedate是NULLportal_namevarchar(255)是NULLportal_activetinyint(1)是0portal_appvarchar(255)是NULLcampaign_idchar(36)是NULLcontacts_audit表结构:保存联系人的修改记
5、录。字段类型Null默认idchar(36)是parent_idchar(36)是date_createddatetime是NULLcreated_byvarchar(36)是NULLfield_namevarchar(100)是NULLdata_typevarchar(100)是NULLbefore_value_stringvarchar(255)是NULLafter_value_stringvarchar(255)是NULLbefore_value_texttext是NULLafter_value_texttext是NULLcontacts_bugs表结构:保存联系人和bug之间的关联字段
6、类型Null默认idvarchar(36)是contact_idvarchar(36)是NULLbug_idvarchar(36)是NULLcontact_rolevarchar(50)是NULLdate_modifieddatetime是NULLdeletedtinyint(1)是0contacts_cases表结构:保存联系人和事件之间的关联字段类型Null默认idvarchar(36)是contact_idvarchar(36)是NULLcase_idvarchar(36)是NULLcontact_rolevarchar(50)是NULLdate_modifieddatetime是NUL
7、Ldeletedtinyint(1)是0contacts_users表结构:保存联系人和sugar用户之间的关联字段类型Null默认idvarchar(36)是contact_idvarchar(36)是NULLuser_idvarchar(36)是NULLdate_modifieddatetime是NULLdeletedtinyint(1)是0accounts_contacts表结构:保存联系人和企业之间的关联字段类型Null默认idvarchar(36)是contact_idvarchar(36)是NULLaccount_idvarchar(36)是NULLdate_modifieddat
8、etime是NULLdeletedtinyint(1)是0calls_contacts表结构:保存联系人和电话之间的关联字段类型Null默认idvarchar(36)是call_idvarchar(36)是NULLcontact_idvarchar(36)是NULLrequiredvarchar(1)是1accept_statusvarchar(25)是nonedate_modifieddatetime是NULLdeletedtinyint(1)是0meetings_contacts表结构:保存联系人和会议之间的关联字段类型Null默认idvarchar(36)是meeting_idvarch
9、ar(36)是NULLcontact_idvarchar(36)是NULLrequiredvarchar(1)是1accept_statusvarchar(25)是nonedate_modifieddatetime是NULLdeletedtinyint(1)是0opportunities_contacts表结构:保存联系人和商机之间的关联字段类型Null默认idvarchar(36)是contact_idvarchar(36)是NULLopportunity_idvarchar(36)是NULLcontact_rolevarchar(50)是NULLdate_modifieddatetime是
10、NULLdeletedtinyint(1)是0Create contact在用户手册中有以下比较重要的文字描述:1. Account Name. Enter the account name associated with the contact; alternatively, click Select to choose from the existing list of accounts. 也就是说Account Name可以选择也可以直接输入。2. Campaign. To associate the contact with a campaign, enter the campaign
11、 name or click Select to select it from the Campaigns list. 也就是说Campaign可以选择也可以直接输入。3. Sync to Outlook. If you have installed Sugar Plug-in for Microsoft Outlook, select this box to synchronize this contact information with Outlook. 由于没有该插件,因此这个输入可以忽略。4. Do Not Call. Select this box to add the conta
12、ct to the Do Not Call list. This is to ensure that the contact is not targeted during campaigns. 这个输入和Campaign模块相关,可以放到Campaign模块来进行考虑。5. If you select an account from the accounts list, the system automatically enters the address for you. However, you can edit this information if needed. 如果选择了accou
13、nt name,那么Address Information中会自动填入相关信息,这个可以单独作为测试子项来考虑。6. Email Address (es): Enter an emails address for the contact and select Primary. If an email address is incorrect, select Invalid to indicate it. If you sent out campaign emails this contact and the individual chose to opt-out of receiving th
14、em, select Opted Out. 这里是对Email Address不同状态的解释,需要考虑不同状态之间的冲突。Save首先分析哪些输入比较重要,针对这些比较重要的输入使用等价类划分、边界值分析法来进行测试用例设计。1. Last name:必填项,最大长度100(长度来自于contacts表)。2. Account name:选填项(会与Accounts模块发生关联,对应accounts_contacts表)。3. Campaign:选填项(与Campaigns模块没有直接联系,与Reports To、Assigned to类似,只是在contacts表中有记录)。4. Birth
15、date:选填项,为MM/DD/YYYY格式,不能晚于系统当前日期。5. Email Address:选填项,满足邮件地址规则,最大长度255(长度来自于email_addresses表,所有邮件地址均保存在该表)。等价类表:输入输入条件有效等价类无效等价类Last name必填项填不填最大长度100长度不超过100长度超过100Account name选填项填,不填Campaign选填项填,不填Birthdate选填项填,不填为MM/DD/YYYY格式月份1位,月份2位,日期1位,日期2位,年份4位,闰年2月,非闰年2月,大月,小月,月份1-12,月份为非数字,日期为非数字,年份为非数字,月
16、份12,闰年2月日期29,非闰年2月日期28,大月日期31,小月日期30不能晚于系统当前日期早于系统当前日期,等于系统当前日期晚于系统当前日期Email Address选填项填,不填满足邮件地址规则是不包含“”,不包含“.”仅有“.”最大长度255长度不超过255长度超过255和数字相关的等价类考虑用边界值进行覆盖,具体用例略。接着针对系统对空格的处理来进行测试,选择Last name,考虑以下几种情况:1. 字符串前面有空格(1个或多个)。2. 字符串中间有空格(1个或多个)。3. 字符串后面有空格(1个或多个)。最后用错误猜测法补充用例,需要注意的是主要关注影响系统使用的错误,比如记录无法
17、点击等等。1. 仍然选择Last name进行测试,输入全角空格,对应的是Last name为空的情况。2. 针对Last name进行输入时,考虑拷贝输入的方式。注意事项:1. 每个用例的预期输出中都应包含数据库的检查。2. 包含了Account name的测试用例还需要到Accounts模块来进行查看。3. 没有考虑快捷键Alt+S的测试(后面类似)。Cancel该功能的测试,需要注意在cancel之前是否存在和服务器之间的数据交互,如果有交互,需要考虑交互对cancel的影响,比如需不需要从服务器上删除前面交互的数据,如果没有交互则比较简单了,直接测试即可。这里对应的是后者。注意事项:1
18、. 上下两个cancel都需要测试。2. cancel功能的测试用例的预期输出必须写清回退到哪个页面。Select这里的select实际对应的是Account Name的输入功能。从用户手册会发现这里的输入有两种方式:选择已有的记录和手工输入已有的记录。这样测试也分两种情况来考虑。选择已有记录考虑:1. Account Name为空,选择一条记录(选择一次)。2. Account Name为空,选择一条记录,再选择另一条记录(选择多次)。手工输入已有记录考虑:1. Account Name为空,手工输入存在的记录,再手工修改为不存在的记录。2. Account Name为空,手工输入不存在的记
19、录,再手工修改为存在的记录。Clear这个功能的测试比较简单,以Account Name为例主要考虑:1. Account Name输入存在的记录,点击clear进行清除。2. Account Name输入不存在的记录,点击clear进行清除。Add Address关于邮件地址合法性检查已经在Save中考虑了,因此这里不再考虑。这里主要考虑:1. 添加多个邮件地址。2. 能添加的邮件地址的最大个数。3. 邮件地址状态的设置(Primary、Opted Out和Invalid)。添加多个邮件地址主要考虑:1. 添加多个不同的邮件地址,查看能否保存以及保存后显示的顺序是否正确。2. 添加多个相同的
20、邮件地址,查看能否有提示信息提示重复输入。3. 添加多个邮件地址,但其中有部分为空。针对能添加的邮件地址最大个数,可以注意一下邮件地址所保存的表为email_addresses,从该表会发现,对于这个最大个数并没有什么限制,只会受到数据库本身容量的限制,因此这个邮件地址最大个数可以不测。邮件地址状态的设置主要考虑:1、 添加多个不同的邮件地址,第一个设置成Primary。2、 添加多个不同的邮件地址,最后一个设置成Primary。3、 添加多个不同的邮件地址,中间的一个设置成Primary。4、 添加一个邮件地址,设置成Opted Out。5、 添加一个邮件地址,设置成Invalid。6、 添
21、加一个邮件地址,不进行任何设置。7、 添加多个邮件地址,不进行任何设置。8、 添加一个邮件地址,同时设置Primary和Invalid。9、 添加多个邮件地址,同时设置第一个为Primary和Invalid。10、 添加多个邮件地址,同时设置最后一个为Primary和Invalid。11、 添加一个邮件地址,同时设置Opted Out和Invalid。12、 添加多个邮件地址,同时设置第一个为Opted Out和Invalid。13、 添加多个邮件地址,同时设置最后一个为Opted Out和Invalid。如果想更简单的测试Primary、Opted Out和Invalid这三个状态之间的相互
22、影响,可以采用正交分析法,这三个状态值为因子,选和不选为状态,因此可以选用3因子2状态的正交表。Enter Business Card这个功能提供的实际上是把名片上的信息录入到sugar中去,所输入的信息基本为create contact所录入信息的子集,因此这个功能的测试主要放在与create contact不同的地方。Save这里可以简单的通过2个测试用例来进行测试:1. 所有输入均输入合法值。2. 除了必填项之外都不输入。Links Test这里测试比较简单,主要是验证Create Note、Create Account、Create Opportunity、Create Appoint
23、ment的基本功能。如果想少测一点的话,可以将后三个归成一类,因为都有专门的表来记录它们和联系人之间的关联(accounts_contacts、calls_contacts、meetings_contacts)。设计测试用例时考虑必填项的填和不填即可。Create From vCard首先需要知道vCard对应的是电子名片,是一种数据格式,不少软件都支持这种格式的文件的导入导出。如果要制造这种文件,可以借助于outlook express的通讯簿来生成,选中一条记录导出即可,导出的文件为vcf文件。从界面上会发现,该功能就是通过浏览或者手动输入一个文件,然后点击Import vCard即可。因
24、此设计测试用例也就是从这个文件来入手,除了考虑文件的扩展名等因素,还需要考虑文件的内容。1. 合法vcf文件导入,英文字母和数字内容,全填。2. 合法vcf文件导入,中文内容,部分填。3. 文件不存在。4. 输入的路径文件名包含非法字符(如*、?等)。5. 文件扩展名不是vcf。6. 非vcf文件扩展名强制改成vcf。另外由于导入的vcf文件并不完全受控,因此可能会出现导入数据的长度超过sugar中能保存的最大长度的情况,这需要通过错误猜测法进行测试。注意事项:由于是直接导入数据,数据在服务器上并不会以文件形式存在,因此不需要考虑同一个文件多次导入的情况(上传到服务器上的文件主要放在cache
25、目录的import子目录和upload子目录下)。Contacts这里主要涉及联系人的管理和维护。在用户手册中有以下比较重要的文字描述:1. The system paginates long lists. To sort the list, click any column title which has the icon beside it; to reverse the sort order, click the column title again. 记录存在排序的问题,需要进行测试。2. The address displays in the Additional Details p
26、opup window. In this window, you can click the View icon to navigate to the records detail page, or click the Edit icon to navigate to the records detail page and edit the information. 这里提示还有view按钮和edit按钮需要进行测试。New Contact这个功能只是新建联系人的快捷方式,需要输入的内容比Create Contact少的多,因此如果Create Contact考虑的比较充分,New Conta
27、ct可以测试的比较简单:1. 全部输入合法数据。2. 全部不输入数据。Basic Search在用户手册中有以下比较重要的文字描述:1. When you type a character in a field, the system performs a quick search of possible values and presents a list of values starting with that character. 说明搜索是从第一个字符来进行匹配的。2. Text entered in search fields needs to match from the begi
28、nning of the value stored in each record unless the wildcard character is prepended. If text is entered in more than one search field, then a record must match on all those fields to be included in the filtered list. In other words, searching for “fred*” would only match first names like “Fred*erick
29、” or other “Fred” names containing the asterisk (*) character. 说明搜索分成三种:一般的搜索、通配符前置的搜索、通配符后置的搜索。Search一般涉及到搜索的测试,都可以分成单关键词搜索和组合关键词搜索。如果了解搜索的算法,还需要针对搜索算法来进行测试。先来看一下单关键词搜索,这里主要需要分析搜索出来的结果到底和哪些因素有关,分析清楚了这些才能更好的设计测试用例。这些因素主要包括:1. 输入的关键词。2. 数据库中到底有哪些数据。这样可以考虑以下这些测试用例:1. 输入不带通配符的关键词(1个字符),数据库中没有匹配的记录。2. 输入不带通配符的关键词(多个字符),数据库中有完全匹配的一条记录。3. 输入不带通配符的关键词(多个字符),数据库中有字符匹配大小写不同的一条记录。4.
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2