系统测试】大型系统测试用例的编写思路是什么?

2022-01-25 14:43发布

7条回答

       第一步、UI体验测试

  

   第二步、功能完整性测试

  

   第三步、业务流程测试

  

   第四步、容错机制测试

  

   第五步、常规性测试

  

   第六步、性能测试

  

   第七步、交互体验测试

 

   第八步、兼容性测试


Danke - 四有青年
3楼 · 2022-01-25 15:21

对于商业项目而言,单元测试代码比功能代码多几倍是很正常的事情,这和大不大型没啥关系,主要是看投多少钱。

上来打杂的
4楼 · 2022-01-27 09:29

1. 功能用例编写策略

功能覆盖,是指测试用例的全面性。一份全面的用例,通常需要包含:功能测试;容量测试(大数据量测试);强度测试;性能测试;安全测试;兼容性测试等

2. 逻辑流畅

合理的测试用例应具有一定的逻辑顺序。

3. 书写全面精简


5楼 · 2022-02-15 10:56

  第一步、UI体验测试

  

   第二步、功能完整性测试

  

   第三步、业务流程测试

  

   第四步、容错机制测试

  

   第五步、常规性测试

  

   第六步、性能测试

  

   第七步、交互体验测试

 

   第八步、兼容性测试


摩羯摩羯
6楼 · 2022-02-15 16:55

常用测试方法:1.等价类划分常见的软件测试面试题划分等价类:?等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2.边界值分析法边界值分析方法是对等价类划分方法的补充。大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据3.错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.4.因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.5.正交表分析法有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。6.场景分析方法指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。


黑盒用例设计方法,其中使用最多的方法就是等价类划分法和边界值分析法,

1、等价划分法

1)按限制条件或规则划分:在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

2)按数值划分:要规定了输入数据的一组值(假定n),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类

2、边界值分析法

边界值分析法我们一般用于对等价类划分法完成之后作补充,如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据(内点,上点,离点)。

3、正交试验法

当因果关系非常庞大,导致测试用例数目巨大时,考虑输入条件的各种组合来设计测试用例

4、错误推断法:

基于经验和直觉推测程序中所有可能存在的各种错误,以更多的与用户的使用习惯及测试程序中的常见问题为主。

举例:数字输入验证,分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值;不合法的输入,系统给出必要的判断提示信息;


第一步、UI体验测试

  1.风格、样式、颜色是否协调

  2. 界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条

  3. 界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)。

  4. 操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)

  5. 提示界面是否符合规范(不应该显示英文的cancel、ok,应该显示中文的确定等)

  6. 界面中各个控件是否对齐

  7. 日期控件是否可编辑

  8. 日期控件的长度是否合理,以修改时可以把时间全部显示出来为准

  9. 查询结果列表列宽是否合理、标签描述是否合理

  10. 查询结果列表太宽没有横向滚动提示

  11. 对于信息比较长的文本,文本框有没有提供自动竖直滚动条

  12. 数据录入控件是否方便

  13. 有没有支持Tab键,键的顺序要有条理,不乱跳

  14. 有没有提供相关的热键

  15. 控件的提示语描述是否正确

  16. 模块调用是否统一,相同的模块是否调用同一个界面

  17. 用滚动条移动页面时,页面的控件是否显示正常

  18. 日期的正确格式应该是XXXX-XX-XX或XXXX-XX-XXXX:XX:XX

  19. 页面是否有多余按钮或标签

  20. 窗口标题或图标是否与菜单栏的统一

  21. 窗口的最大化、最小化是否能正确切换

  22. 对于正常的功能,用户可以不必阅读用户手册就能使用

  23. 执行风险操作时,有确认、删除等提示吗

  24. 操作顺序是否合理

  25. 正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确。

  26. 系统应该在用户执行错误的操作之前提出警告,提示信息.

  27. 页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性。

  28. 合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理。

  29. 检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业。

  30.背景灰度冻结

   第二步、功能完整性测试

  1.使用所有默认值进行测试

  2.根据所有产品文档、帮助文档中描述的内容要进行遍历测试

  3.输入判断

  4.所有界面出现是和否的逻辑,要测试

  5.异常处理

  6.敏感词

  7.根据需求文档的流程图遍历所有流程图路径

  8.根据程序内容,遍历if elif else switch的逻辑点要遍历

  9.界面各种控件测试

   第三步、业务流程测试

  业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。

  如某一功能模块具有最基本的增删改查功能,则需要进行以下测试:

  1.单项 功能测试(增加、修改、查询、删除)

  2.增加——>增加——>增加 (连续增加测试)

  3.增加——>删除

  4.增加——>删除——>增加 (新增加的内容与删除内容一致)

  5.增加——>修改——>删除

  6.修改——>修改——>修改 (连续修改测试)

  7.修改——>增加(新增加的内容与修改前内容一致)

  8.修改——>删除

  9.修改——>删除——>增加 (新增加的内容与删除内容一致)

  10.删除——>删除——>删除 (连续删除测试)

   第四步、容错机制测试

  1.输入系统不允许的数据作为输入。

  2.把某个相关模块或者子系统停掉,验证对当前系统的影响。

  3.配置文件删除或者配置错误。

  4.数据库注入错误数据。

   第五步、常规性测试

  1.系统不间断运行(7*24),验证是否内存泄露、系统其他资源是否存在泄露

  2.如果很紧急上线,可以跑一晚上或者周末跑两天。

  一般压力很大的情况下, 数据库连接数问题、内存泄露问题会曝露的比较快但是死锁可能不能体现,所以要看系统重要性,如12306稳定性则最好7*24小时

   第六步、性能测试

  1.连接速度测试

  用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是 电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。

  另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。

  2.负载测试

  负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?

  3.压力测试

  负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。

  进行 压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。

  压力测试的区域包括表单、登陆和其他信息传输页面等

   第七步、交互体验测试

  1.系统界面的控件是否可以通过tab键遍历,并且顺序合理

  2.主要功能的入口和操作是否易于理解

  3.界面是否布局合理,功能是否易于查找和使用

  4.操作步骤

  5.操作习惯

  6.有足够的提示信息,且信息文字描述准确

   第八步、兼容性测试

  兼容性测试不只是指界面在不同 操作系统或 浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,

  包括操作系统兼容和应用软件兼容,可能还包括硬件兼容

  比如涉及到ajax、jquery、javascript等 技术的,都要考虑到不同浏览器下的兼容性问题。


相关问题推荐

  • 回答 6

    1.粒度不同: 集成测试粒度居中,单元测试粒度最小,系统测试粒度最大。2.测试方式不同: 集成测试一般由开发小组采用白盒加黑盒的方式来测试,单元测试一般由开发小组采用白盒方式来测试,系统测试一般由独立测试小组采用黑盒方式来测试。3.测试内容不同: 集成测试...

  • 回答 7

    1.为项目指定一个测试工程师负责贯彻和执行系统测试活动;2.测试组向各事业部总经理/项目经理报告系统测试的执行状况;3.系统测试活动遵循文档化的标准和过程;4.向外部用户提供经系统测试验收通过的预部署及技术支持;...

  • 回答 2

    第一步:将系统分成多个模块(最好按照功能来分);第二步:找出模块和模块之间的重叠部分;第三步:把各个模块化成饼图,以便自己分析;第四步:排出先后次序,尽量把交叉的两个模块放的近一些,以便测试人员测试;第五步:按照先后次序一个一个写;第六步:...

  • 回答 9

    1、易操作性方面● 输入数据,确认系统是否对输入数据进行有效性检查。● 要求具有中断执行的功能,确认它们能否在动作完成之前被取消。● 要求具有还原能力(数据库的事务回滚能力)的功能,确认它们能否在动作完成之后被撤销。● 包含参数设置的功能,确认参...

  • 回答 4

    Iometer(www.iometer.org):存储子系统读写性能测试Iometer是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequenti...

  • 回答 6

    1、UAT:终端用户集成测试,主要是要求用户参与进测试流程,并得到用户对软件的认可,鼓励用户自己进行测试设计和进行破坏性测试,充分暴露系统的设计和功能问题,显然,用户的认可和破坏性测试是难点。因为测试人员并不了解用户用什么样的手段和思维模式进行...

  • 回答 7

    一、系统测试主要内容二、测试计划三、设计四、 实现五、执行六、输出测试报告七、系统测试其他内容

  • 回答 3

    通常嵌入式系统对可靠性的要求比较高。嵌入式系统??安全性的失效可能会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统,包括嵌入式软件进行严格的测试、确认和验证。今天小编给大家分型几种常用的嵌入式...

  • 回答 2

    gtest和cpp test仅是更方便的编写和管理测试用例的工具,不能统计覆盖率。覆盖率统计请使用 gcov 等工具

没有解决我的问题,去提问