Concrete embodiment of testability

1. Functional test

1. Installation test:

1) During the installation process, whether the default installation directory and any specified installation directory can be installed correctly;

2) If you choose to install, check whether the corresponding functions can be realized;

3) After exiting the installation program in all the locations where the installation can be exited halfway, verify that the program has not been installed successfully (no program groups and program items are generated);

4) After the software is installed, whether it will affect other installed software;

5) After bare metal installation, whether each function point is available;

6) Before installation, whether the installation program determines the amount of available disk space, and if the installation space requirements cannot be met, whether the installation program can continue;

7) During the installation process, check whether the copyright statement, version information, company name, LOGO, etc. meet the standards;

8) Whether the interface display and prompt language are accurate and friendly during the installation process;

9) Whether there is a prompt in the system during repeated installation, whether it can be overwritten, whether it can be upgraded and installed, and whether multiple versions are allowed to coexist;

10) Is there a registration code or hardware dongle, and can it be installed without them (or bugs).

2. configuration test

1) Whether it can run on various operating systems (various versions of Windows, Unix, Linux, etc.) according to the instructions in the user manual;

2) Install and configure the software according to the minimum requirements of the system, and check whether various functions can be realized normally;

3) Can prompt information be given when the configuration of data sources and other information is incorrect;

4) Whether it can support multiple databases according to the user manual.

3. Uninstall test

1) Whether the registration information in the registry and related program installation directories can be completely deleted after uninstallation;

2) After the shared files are completely deleted during the uninstallation process, see if other programs can run normally;

3) After uninstalling, whether it will affect other installed software;

4) Whether the document created by the user is retained after the system is uninstalled;

5) Whether the software name and version information on the software uninstallation screen are correct;

6) Whether it can be properly exited in all the positions where the uninstallation can be exited halfway;

7) Whether the interface display and prompt language are accurate and friendly during the uninstallation process;

8) After uninstalling, can this system open the original saved files, and everything runs normally;

9) If the uninstaller requires to restart the machine, whether to prompt the user to save the data of the existing running programs between restarts;

10) Whether components can be selected for uninstallation;

11) Handling of unexpected situations (power failure, etc.) during uninstallation.

12) During the uninstallation process, is there a stop or end button.

4. Running and closing the test

1) 运行时是否与其它应用程序有冲突(内存冲突);

2) 是否可以同时运行多个程序;

3) 任务栏有无程序运行提示;

4) 若有未保存的数据,关闭系统时是否有提示;

5) 后台服务程序在点击关闭按钮时是否有确认提示;

6) 运行时是否过份占用系统资源、退出时能否完成释放占用的系统资源。

5. 服务程序的测试:

1) 系统是否限制服务器程序启动的数量,如不限制,同一范围内启动多个服务是否对系统有影响;

2) 服务程序能否长时间正常运行;

3) 外界异常后,服务程序的自动恢复能力(服务器掉电、网络中断后恢复、数据库异常后恢复…);

4) 在点击关闭按钮时是否有确认提示;

5) 应用程序与其他程序是否兼容(能否避免内存冲突)。

6. 系统管理(参数设置)

1) 参数设置后,能否正确的进行应用;

2) 设置错误参数,系统的容错能力;

3) 修改参数,对与之相关模块的影响;

4) 系统是否有默认的参数,A 有:默认的参数是否起到作用 ;B 没有:不设置,系统能否运行或者给出提示。

7. 用户、权限管理

1) 赋予一个人员相应的权限后,在界面上看此人员是否具有此权限,并以此人员身份登陆,验证权限设置是否正确(能否超出所给予的权限);

2) 删除或修改已经登陆系统并正在进行操作的人员的权限,程序能否正确处理;

3) 重新注册系统变更登陆身份后再登录,看程序是否能正确执行,具有权限是否正确;

4) 在有工作组或角色管理的情况下,删除包含用户的工作组或角色,程序能否正确处理;

5) 不同权限用户登录同一个系统,权限范围是否正确;

6) 覆盖系统所有权限设定;

7) 能否添加信息为空的用户(其中包括空用户名及空口令、空用户名非空口令、非空用户名及空口令);

8) 能否添加长用户名及长口令,如果允许,新用户能否正确登录;

9) 系统是否允许删除系统管理员这一特殊用户或修改系统管理员口令,删除或修改后系统的实际情况;

10) 登录用户能否修改自己的权限;

11) 添加用户(有标识或编号):标识相同,用户名不同;标识相同,用户名相同;标识不同,用户名相同;标识不同,用户名不同;

12) 登录用户能否修改本人(或其他人)的信息,删除本人(或其他人);

13) 修改用户的信息(包括权限,口令,基本信息等),对其他模块的影响;

14) 修改用户信息:修改后的用户信息和已经存在的用户信息相同;修改后的用户信息和已经存在的用户信息不同;

15) 不给用户授权,是否允许登录;

16) 改某些设置时,是否会影响具有上级权限及相同权限人员的设置;

17) 系统管理员修改了某些数据,以其他人员身份登录时数据是否改变;

18) 用户能否同时属于多个组,各个组的权限能否交叉;

19) 删除后重新添加的用户是否具有以前的权限;更改用户各项属性(包括权限)看对权限是否有影响。

8. 系统登录测试

1) 使用合法用户登录系统;

2) 用户名、口令错误或漏填时能否登陆;

3) 系统是否容许多次非法登陆,是否有次数限制;

4) 使用已登录账号登录系统系统能否正确处理;

5) 使用禁用帐号登陆系统能否正确处理;

6) 删除或修改后的用户用原用户登录;

7) 不输入用户名和口令,重复点“确定”和“取消”按钮,是否允许登录。

9. 注销

1) 注销为原模块、新模块系统能否正确处理;

2) 中止注销能否返回原模块、原用户;

3) 注销为原用户、新用户系统能否正确处理;

4) 使用错误的帐号、口令或无权限帐号、被禁用帐号进行注销。

10. 修改口令

1) 正常情况;

2) 输入错误的原口令或新口令与确认口令不一致系统能否正确处理;

3) 修改口令后,用原口令是否能登录(同时验证新口令是否有效);

4) 是否能修改其它用户的口令。

11. 右键功能

1) 右键菜单中的功能是否与菜单(或工具栏)中对应的功能一致;

2) 右键菜单中的功能能否正确实现;

3) 同一菜单下的热键是否相同。

12. 记录列表

1) 增加重复记录、空白记录,系统能否正确处理;

2) 修改后不保存(有保存按钮),系统能否正确处理;

3) 删除或修改正在使用信息,系统能否正确处理;

4) 删除级联记录的上游或下游记录,系统能否正确处理;

5) 删除记录时是否有提示;

6) 记录中包含的缺省系统信息能否删除和修改;

7) 记录列表能否及时反应记录的变化;

8) 记录变化之后系统相关信息能否及时更新;

13. 统计、查询

1) 对非法的时间范围系统能否正确处理;

2) 统计查询语句包含多个与或非条件时,系统能否正确处理;

3) 条件逻辑混乱,系统能否正确处理;

4) 多表查询统计及单表查询统计功能是否正确实现;

5) 分类查询、精确查询、无条件查询、组合查询能否完整列出满足条件的记录;

6) 能否按系统默认的条件进行查询;

7) 当统计时间段为当日、跨日、跨月、跨季、跨年度时,统计查询结果是否正确;

8) 当某些操作被别人取消后,设置条件段为取消前、取消后、包含取消操作的一段时间;

9) 以不同的权限登录时,统计、查询是否正确;

10) 在查询或统计大数据量时,系统是否允许终止操作;

11) 查询、统计按钮是否允许双击或更多的点击,系统做何反映;

12) 查询出的数据是否允许修改。

14. 文件操作

a、保存

1) 文件是否能够正确保存在在缺省位置或指定位置(本地、网络);

2) 系统能否正确处理长文件名、特殊字符文件名保存;

3) 文件能否保存为其它扩展名;

4) 如应用程序对文件名区分大小写,当这些文件在导出到介质中时,系统能否正确处理;

5) 介质空间已满时,系统是否给出提示。

b、打开

1) 打开文件是否正确显示上一次保存的内容;

2) 系统能否正确处理非系统默认扩展名的文件;

3) 文件能否被其他程序正确打开;

4) 打开对话框中,是否有默认扩展名的文件类型;

5) 打开对话框时,是否有默认的路径。

c、打印输出

1) 是否按所设置的格式打印;

2) 是否有打印预览,能否设置打印字体,打印效果是否合乎客户要求;

3) 打印预览的内容是否正确,内容是否能够进行拖拽操作,是否影响实际的打印;

4) 安装或不安装打印功能模块,对其它模块是否有影响;

5) 打印机未安装系统有无提示;

6) 打印中途能否进行正常的打印中断,是否可以选择打印的内容。

7) 能否进行本地或网络打印。

d、导入、导出功能

1) 导入的文件格式非要求时,系统如何处理;

2) 导入、导出的有效文件能否完整正确地显示并被使用;

3) 导出后的文件是否允许修改,如果允许,导入后能否使用;如不允许,系统有何限制;

4) 导入,导出是否可以选择路径;

5) 在客户端和服务器端进行导入,导出;

6) 在客户端和客户端之间进行导入,导出;

7) 在本地进行导入,导出;

8) 不同文件格式的导入,导出。

e、检入与检出

1) 单文件、多文件检入与检出;

2) 能否多次检入与检出;

3) 文件检出后其它人能对其做何操作。

15. 界面上对象的功能(文本框,下拉框,按钮,热键等等)

a、工具条

1) 工具条能否正常显示/隐藏;

2) 工具条按钮在不可用时是否置灰,例如在不置灰情况下,重复点击工具条上的按钮,看系统是否能够正常进行操作;

3) 可移动工具条在窗口中间位置其形状是否正确;

4) 工具条船坞状与非船坞状时其上按钮是否相同;

5) 工具栏上工具按钮功能是否能正常实现;

6) 工具按钮显示是否正确、友好、醒目易懂;

7) 工具栏上的工具按钮是否有鼠标悬停提示;

8) 工具栏上的工具按钮是否可以任意定制。

b、下拉列表

1) 列表记录的每一行是否显示完整;

2) 列表记录不能在一页中显示时,是否有纵向滚动栏;

3) 列表滚动栏上滑块能否自由滑动,对应内容显示是否正确;

4) 列表中内容能否自动排序。

c、窗口

1) 打开的窗口不确认关掉,能否再调其它窗口,且连续开窗口系统能否正确处理;

2) 窗口尺寸变化时窗口中控件能否自适应;

3) MDI中,子窗口的平铺、重叠、排列图标功能是否正确;

4) 窗口的标题、图标是否和菜单命令、按钮一致;

5) 子窗口和主窗口的属性是否正确;

6) 窗口中的上下左右滚动条是否能达到预览全部界面的效果。

d、文本框

1) 对输入域的必添项处理是否正确;

2) 输入域是否有长度限制;

3) 输入域如对某些字符禁止输入时,限制是否成功;

4) 中文、英文、空格,数字,字符,下划线、单引号 等所有特殊字符的组合;

5) 口令域

  • 口令为空格或包含空格、特殊字符(所有特殊字符的测试)时系统能否正常处理;
  • 口令位数是否有限制;
  • 口令与帐号相同,系统是否有提示;
  • 口为字典单词系统能否正确处理;

特殊的对系统安全性要求较高应该注意:

  • 口令应有最少位数限制;
  • 口令应为数值、大小写字母、特殊字符的组合;
  • 口令禁止设为空,不能和要被修改的口令一致;
  • 口令区分大小写;

6) 时间域

  • 年度超过4位;
  • 月份输入0或大于12;
  • 日期输入0或大于当前月份的天数;
  • 年度,月份,日期输入负数;
  • 时间输入大于或小于边缘值的数据;
  • 进行字符及汉字的输入,看程序能否正确处理;
  • 系统中所涉及时间是否取服务器时间;
  • 有范围的输入域,开始时间大于、小于、等于结束时间,系统能否正确处理;
  • 时间范围同当前时间的关系是否正确;
  • 是否包含缺省时间且缺省时间意义是否正确;
  • 系统对闰年,闰月的处理;
  • 对不同的时间格式(yyyy-dd-mm,yy-dd-mm,yyyy/dd/mm,yy/dd/mm等)是否允许输入;
  • 输入的时间在与之有关的模块中是否能正确的起到作用及对其他模块的影响;
  • 对时间点的测试。

7) 货币域

  • 输入负值、零、特大数、小数系统能否正确处理;
  • 系统对小数点后数位的控制是否正确;
  • 系统能否正确处理数值计算;
  • 输入非数值型数据(包括特殊字符),系统能否正确处理;
  • 系统能处理货币的种类。

8) 身份证(18或15位):

身份证中输入非法的年月日信息(包括超界数字及字符,汉字),程序能否进行检验并正确处理;

由身份证号码计算年龄,系统对出生年份末两位数是00的身份证号码能否正常处理;

在年龄和身份证均作为用户信息输入时,是否具有关联;

在身份证的输入中,是否允许输入字符”x”。

9) 电话号码

  • 输入特殊的电话号码,如119,110,800等看程序是否能正确处理;
  • 验证-,(,) * # 是否有真正含义;
  • 电话号码长度是否有限制;
  • 电话号码是否允许输入汉字,英文。

10) 关于时间的其它操作

  • 时间的跨月份、年度操作;
  • 12小时、24小时制的操作;
  • 客户机与服务器时间不同的操作(包括客户机与服务器两地时差不同);

11) 数据字段一致性

不同窗口中同一类数据输入域的数据接口是否一致(如添加用户及用户登录窗口对用户标识和口令的长度是否一致)。

e、图表曲线

首先,在一定的时间段观察曲线走势,如果有类似的软件可对比的话可以进行对比大体趋势,然后,再找关键点,对比关键点的数据。测试中,需要找到曲线的计算公式,找关键点进行计算。(进行对比是必要的,第一,可以节省一些不必要的工作量;第二,也有可能是编码人员所用的公式本身就有问题,而你所有测试所做的计算都是徒劳了。)

f、列表

1) 列表记录不能在一页中显示时,是否有纵向滚动栏;记录长度超过列表宽度时,是否有横向滚动栏;

2) 列表滚动栏上滑块能否自由滑动,滑块滑动时,对应内容显示是否正确;

3) 列表内容是否可直接输入;

4) 列表中每列数据能否按升序、降序排列;

16. 备份与恢复

1) 备份T日的数据,进行操作,然后恢复,查看恢复的数据是否正确;

2) 备份到不同介质上,并考虑介质空间已满的情况;

3) 用系统提供的恢复功能进行恢复:

  • 用数据库进行恢复;
  • 在备份和恢复还没有结束的时候,终止(掉电,网络不通等)备份和恢复;
  • 有操作的时候,进行备份和恢复;
  • 没有任何操作的时候,进行备份,恢复;
  • 部分备份,全部备份,部分恢复,全部恢复有选择的备份和恢复;

4) 进行备份,恢复操作是否有权限限制 A 有: 分别用有权限的用户和没有权限的用户进行操作 B 没有:单个用户进行备份,恢复;多个用户同时进行备份和恢复。

17.系统日志的处理

1) 系统能否正确记录日志信息;

2) 系统是否有清空日志的功能;

3) 系统是否有导出日志的功能;

4) 当日志数据超过容量时,系统如何处理。

二.性能测试

具体用例不好设计,下面列出了一些有性能要求的测试点:

1) 查询

2) 保存

3) 统计

4) 刷新

5) 显示

6) 传输

7) 响应

8) 下载

打开网络上其它介质上的文件时,可制造网络拥挤情况下的文件打开操作。主要测试点,集中在几个点上。一是数据量小的时候主要的查询统计刷新等功能点;二是数据量积累到一定程度时的查询统计刷新时间,这里的一定程度是根据实际的项目和客户需求来定的。

三.极限压力测试

1) 接收大数据量的数据文件时间;

2) 大数据恢复时间;

3) 大数据导入导出时间;

4) 大批量录入数据时间;

5) 大数据量的计算时间;

6) 多客户机同时进行某一个提交操作;

7) 采用测试工具软件;

8) 编写测试脚本程序;

9) 大数据量的查询统计时间。

四. 容错测试

1) 通过断开网线的强制性停止数据传输以及重新将网线接上,查看提示信息及对系统的影响;

2) 系统断电,恢复后查看对系统的影响程度;

3) 死机后,看程序如何处理;

4) 服务器DOWN掉,客户端程序如何处理。

五.并发测试

1) 登录的并发操作:多人同时登录系统,使用不同或相同账号;

2) 提交的并发操作:多人同时提交相同的工作项、不同的工作项;

3) 对数据库操作的并发操作:多人同时从数据库中读出(或向数据库导入) 相同文件、不同文件。

************************

附:一些容易出错的地方

************************

一. 有关新建和修改

1. 创建或修改的内容为已经存在的内容,系统是否有提示;

2. 修改正在使用的数据。

二. 删除

1. 应有确认提示;

2. 若删除的内容在文件或数据库中,应作实际校验;

3. 删除正在使用的数据;

4. 考虑删除数据的相关数据是否同时被删除;

5. 重新使用已删除的数据。

三.关于提示信息的验证

有些操作系统会给出成功(有时没有成功提示)或失败的提示,一定要验证提示的正确性(尤其是一些重要操作,如修改口令),即用其它方法检查所作的操作是否真正成功或失败。

四.关于考虑硬盘空间已满的情况

1. 数据存储和备份;

2. 生成文件;

3. 拷贝文件

五.关于修改系统时间

对于和时间有关的业务,测试时考虑修改系统时间对系统的影响。

六.对于响应速度慢的按钮进行连续点击;或中途取消,再继续…

七.凡是支持并发过程的功能,一定要做并发测试(手工进行或利用工具);

八.打印功能(能否正确打印,打印效果与预览是否一致)

九.系统初始化

1) 如果系统安装后需要进行初始化,初始化过程是否正确;

2) 如果系统安装后不需要进行初始化,安装后的默认设置是否正确、适当。

十.版权声明是否符合标准,如果有公司的logo,图标是否正确(最容易测试的地方,也是最容易被忽略的地方)

十一.如果捆绑硬件,如果可能的话,在测试我们的软件产品前要对硬件的性能、稳定性进行严格测试。(包括大数据量的传输入等)

十二.备份与恢复

1) 备份与恢复过程本身的正确性;

2) 备份内容的正确性(通过事先准备的测试数据在恢复后验证);

3) 备份与恢复过程中对异常情况的处理(掉电、网络不通等);

4) 在原始机上的恢复;

5) 在非原始机上的恢复;

6) 在裸机(只有操作系统和必要的数据库或第三方产品)上的恢复;

7) 在一台机器上进行若干次的备份与恢复;

8) 如果是支持多数据库的软件,备份与恢复是容易出错的地方。

需要严格把握的错误类别:

在整个测试过程中对每条问题都制定有错误归类,现按照问题的严重程度,把问题主要分为四类:

A:严重影响系统运行:导致系统出现不可预料的严重错误的问题,例如:运行过程中出现页面或页面无法显示、死机等;

B:影响系统运行:系统中重要的功能出现运行错误,例如:导致用户必须重新登录的问题,导致个别用户不可用的问题;

C:不影响系统运行但必须修改:系统中基本的操作或功能没有实现或实现有误的问题,以及不符合常规的操作界面的问题;

D:所提建议:不影响系统运行,对系统的可用性等提示的建议性的问题。

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326807601&siteId=291194637