软件测试方法+软件测试方法比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试方法+软件测试方法比较
软件测试方法是指测试软件性能的方法。随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强;以下是为大家的软件测试方法+软件测试方法比较,以供大家参阅!
UI测试
用户界面测试,英文是User interface testing。又称UI测试。
用户界面,英文是User interface。是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。
用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。
用户界面测试用户分析软件用户界面的设计是否乎合用户期望或要求。它常常包括菜单,对话框及对话框上所有按钮,文字,出错提示,帮助信息 (Menu 和Help content)等方面的测试。比如,测试Microsoft Excel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错信息内容和字体大小,工具栏位置/图标等等。
冒烟测试
冒烟测试,英文是Smoke testing。
冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫
足够了。也有人认为是形象地类比新电路板基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。
冒烟测试的对象是新编译的每一个需要正式测试的软件版本,
目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。
随机测试
随机测试,英文是Ad hoc testing。
随机测试没有书面测试用例、记录期望结果、检查列表、脚本
或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
随机测试主要是对被测软件的一些重要功能进行复测,也包括
测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressive testing)一起进行。
软件测试方法比较
白盒测试
优点:
●迫使测试人员去思考软件的实现;
●可以检测代码中的每条分支和路径;
●揭示隐藏在代码中的错误;
●对代码的测试比较彻底;
●最优化。
缺点:
●昂贵;
●无法检测代码中遗漏的路径和数据敏感性错误;
●不验证规格的正确性。
黑盒测试
优点:
●对比较大的代码单元来说,黑盒测试比白盒测试效率要高;
●测试人员不需要了解实现的细节,包括特定的编程语言;
●测试人员和编码人员是彼此独立的;
●从用户的视角进行测试,很容易被理解和接受;
●有助于暴露任何规格不一致或者有歧义的问题;
●测试用力可以在规格完成之后马上执行。
缺点:
●只有一小部分可能的输入被测试到,要测试每个可能的输入流几乎是不可能的;
●没有清洗的和简明的规格,测试用例是很难设计的;
●如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复;
●会有很多程序路径没有被测试到;
●不能直接针对特定程序段测试,该程序段可能隐藏更多错误;
●大部分和研究相关的测试都是直接针对白盒测试的。
灰盒测试
介于黑盒和白盒测试之间的一种测试。
2. 静态、动态测试方法的优缺点,适用范围分别是什么?分别举例说明。
静态方法是指不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。
动态方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。
3. 手工、自动化测试方法的优缺点,适用范围分别是什么?分别举出实例进行说明。
手工测试方法能够发现更多的缺陷,测试设计不会遗漏问题。
缺点:测试重复频繁的测试,效率低,完全一致性得不到保证。
自动化测试方法的优点:
1、对程序的回归测试更方便。由于回归测试的动作和用例是完全设计好的,期望的结果也是可以预料的,自动运行何以提高测试的效率,缩短测试的时间;
2、可以运行更多更繁琐的测试;可以执行一些手工测试不能进行或者困难的测试,比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。
3、更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。
4、测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。
5、测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
6、增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了强有力的自动测试后,软件的信任度自然会增加。