软件工程——软件测试(黑盒测试、白盒测试、测试分析报告)

简介: 经过前面软件测编码阶段,是不是我们就可以把软件发布出去供用户使用了呢?不是的,为了确保软件不会出现不必要的差错,还需要经过重重测试的。

经过前面软件测编码阶段,是不是我们就可以把软件发布出去供用户使用了呢?不是的,为了确保软件不会出现不必要的差错,还需要经过重重测试的。


20200606182832750.png


软件测试的目的


是程序编完之后必须要做的一件事


为了发现错误而执行程序的过程


软件测试的原则


避免程序员检查自己的程序


软件测试应尽早地、不断地进行


软件测试不等于程序测试


充分认识错误的群集现象


测试用例应包括测试输入数据和与之对应的输出结果


测试用例的输入数据应包括合理的输入和不合理的输入


严格执行测试计划,避免测试的随意性


软件测试的方法有哪些?


黑盒测试(功能测试)、白盒测试(结构测试)


  • 黑盒测试:把测试对象看做一个黑盒子,检查程序的功能是否符合它的功能说明


黑盒测试是一种宏观功能上的测试,该方法适合测试部门的测试人员或用户


  • 白盒测试:把测试对象看做一个透明的盒子,对程序所有的逻辑路径进行测试

适合于很小单元的测试,以及从事软件底层工作、生产构件的测试人员进行的测试。


测试过程的4个步骤


单元测试、组装测试、确认测试、系统测试


    20200606183315202.png


关系:后一个步骤在逻辑上前一个步骤的继续

步骤一、单元测试


又称模块测试,针对软件设计的最小单位——程序模块,进行正确性检验的测试工具。单元测试的内容如下


         20200606183345763.png                  


步骤二、组装测试


通常,把模块组装成为系统的方式有:一次性组装方式、增值式组装方式


一次性组装:如果在没有问题的情况下,时间块


增值式组装方式:自顶向下的增值方式、自底向上的增值方式、混合增值式测试


步骤三、确认测试


又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致


步骤四、系统测试


最后一个测试,把所有的设备以及实际环境进行测试


调试技术


调试的目标在于找到软件错误的原因并加以改正

  • 强行排错:使用多,效率低,不需要过多思考,较省脑筋
  • 回溯法
  • 归纳法:从一些线索着手,通过分析他们之间的关系来找出错误
  • 演绎法:从一般原理或前提出发,经过排除和精化的过程来推导出结论的思考方法


软件测试与开发个阶段的关系


      20200606183551578.png                      


最后要形成测试分析报告


总结


在软件开发阶段不可避免地会产生错误。例如,在需求分析时没有很好地理解用户的意图;在系统设计时对实体 间的关系没有正确地描述;在编码阶段出现了不易发现的逻辑错误;软件开发人员之间的 配合出现失误等。尽管在每个阶段结束之前对软件进行严格的技术评审,但经验表明审查 并不能发现所有差错。因此,软件编码完成后,在交付用户使用前,必须对软件进行严格 的测试。软件测试是软件质量保证的关键步骤。


不足之处欢迎斧正哦~🙂

相关文章
|
12天前
|
敏捷开发 Java 测试技术
探索软件测试中的自动化测试框架
在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的不断进步和软件项目的日益复杂化,传统的手动测试方法已经无法满足高效、准确的测试需求。自动化测试作为一种提高测试效率和质量的有效手段,越来越受到开发者和测试者的青睐。本文将深入探讨自动化测试框架的重要性、常见的自动化测试工具以及如何选择合适的自动化测试框架。
37 10
|
20天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
22天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
21天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
6月前
|
机器学习/深度学习 人工智能 算法
深入探索软件测试中的黑盒测试技术
本文旨在通过一个创新视角,探讨软件测试领域中的黑盒测试技术。我们将从一个全新的维度——测试用例的生成策略出发,分析如何提高黑盒测试的效率和效果。文章不仅会介绍传统的测试用例设计方法,如等价类划分、边界值分析等,还会结合最新的技术发展,讨论人工智能在黑盒测试中的应用前景。通过案例分析和实践应用,我们期望为读者提供一套系统的黑盒测试解决方案,以应对日益复杂的软件测试需求。
|
3月前
|
机器学习/深度学习 Web App开发 测试技术
『软件测试3』八大典型的黑盒测试方法已来袭,快快接住!
该文章介绍了八种常用的黑盒测试方法,包括等价类划分、边界值分析、错误推测法、因果图法、决策表测试、状态转换法、场景法以及随机测试,并提供了相应的案例说明。
|
3月前
|
测试技术 数据库
『软件测试2』 关于黑盒测试和测试用例的基础知识
该文章讲解了黑盒测试的基本概念以及如何编写有效的测试用例,包括选择合适的输入数据、预期结果的设定和测试执行的步骤。
|
7月前
|
测试技术
深入理解与应用软件测试中的黑盒测试方法
【5月更文挑战第28天】 在现代软件开发的生命周期中,软件测试是确保产品质量和用户满意度的关键步骤。黑盒测试作为一种重要的测试手段,其核心在于无需了解内部代码结构,而是通过功能性的角度来验证软件行为的正确性。本文将探讨黑盒测试的基本概念、主要类型及其在现实场景中的应用,并讨论如何有效地设计黑盒测试用例以提高测试覆盖率和发现潜在缺陷的能力。
|
7月前
|
自然语言处理 测试技术 程序员
软件测试-----黑盒测试与白盒测试
软件测试-----黑盒测试与白盒测试
126 0
|
测试技术
软件测试高频面试题“黑盒测试之正交试验法”案例剖析与实践应用
软件测试高频面试题“黑盒测试之正交试验法”案例剖析与实践应用
474 0

热门文章

最新文章