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

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

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


20200606182832750.png


软件测试的目的


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


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


软件测试的原则


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


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


软件测试不等于程序测试


充分认识错误的群集现象


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


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


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


软件测试的方法有哪些?


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


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


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


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

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


测试过程的4个步骤


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


    20200606183315202.png


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

步骤一、单元测试


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


         20200606183345763.png                  


步骤二、组装测试


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


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


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


步骤三、确认测试


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


步骤四、系统测试


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


调试技术


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

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


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


      20200606183551578.png                      


最后要形成测试分析报告


总结


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


不足之处欢迎斧正哦~🙂

相关文章
|
7天前
|
测试技术
探索软件测试的奥秘:如何构建有效的测试策略
在软件开发的海洋中,测试是确保航船不沉没的灯塔。本文将带你领略测试的魅力,从基础概念到高级策略,我们将一起航行在软件测试的广阔海域,探寻那些隐藏在代码深处的秘密。准备好了吗?让我们启航吧!
20 1
|
13天前
|
敏捷开发 测试技术 持续交付
软件测试中的探索性测试方法及其重要性
【8月更文挑战第6天】在软件开发周期中,测试环节是不可或缺的。它确保了产品的质量、性能与可靠性。然而,传统的测试方法往往侧重于预设的测试用例和场景,可能忽略了用户实际使用过程中的非预期行为。探索性测试(ET)应运而生,它强调测试人员的自主性和创造性,通过不断学习和适应来发现软件的潜在缺陷。本文将探讨探索性测试的概念、实施策略及其在现代软件开发中的重要性。
|
14天前
|
测试技术
软件测试中的心理学:如何优化测试流程
【8月更文挑战第6天】本文深入探讨了软件测试过程中的心理学因素,揭示了测试人员的心理动态对测试效率和质量的影响。通过分析测试人员的压力源、动机以及团队间的沟通问题,提出了一系列改善策略,如建立积极的反馈机制、提供持续的职业培训和优化工作环境等,旨在提升软件测试的整体效能。文章最后提出一个开放性问题,邀请读者思考如何在不断变化的技术环境中维持测试团队的心理健康和动力。
|
20天前
|
测试技术
软件测试中的探索性测试方法
在软件开发周期中,测试环节扮演着至关重要的角色。本文将深入探讨一种灵活而高效的测试方法——探索性测试。我们将通过具体实例分析其实施过程,并讨论如何通过这种方法提高软件质量和测试效率。最后,我们提出一个开放性问题,邀请读者思考探索性测试在他们工作中的实际应用和潜在价值。 【7月更文挑战第31天】
|
17天前
|
机器学习/深度学习 人工智能 数据挖掘
重塑软件测试未来:自动化与人工智能的交响乐章,引领高效精准测试新时代
【8月更文挑战第3天】软件测试是确保软件质量的关键环节。随着自动化与AI技术的发展,测试正经历从手动到自动、再到智能的深刻变革。自动化显著提升了测试效率,减少人为错误;AI则通过数据分析和学习能力,实现了测试用例的自动生成与优化,提高了测试的智能水平。两者的融合不仅增强了测试的全面性和准确性,还预示着一个更加高效智能的测试新时代的到来。
19 1
|
19天前
|
机器学习/深度学习 人工智能 测试技术
探索式测试:软件测试的未来趋势
在数字化时代,软件测试是确保产品质量和用户体验的关键环节。传统的测试方法虽然有效,但往往耗时耗力,难以适应快速迭代的开发模式。本文将介绍一种新兴的测试方法——探索式测试,它强调测试人员的主观能动性,通过不断地学习和探索来发现软件中的问题。我们将分析其原理、优势及实施过程,并探讨它如何成为未来软件测试的趋势。
|
21天前
|
敏捷开发 测试技术
软件测试中的探索性测试:一种灵活的质量保证方法
在软件开发周期中,测试是确保产品质量的关键步骤。传统的测试方法往往依赖于事先定义好的测试用例,但这种方法可能无法覆盖所有潜在的缺陷和场景。探索性测试(ET)作为一种更为灵活的测试方式,允许测试人员在执行测试的同时设计和适应测试用例,从而提高了测试覆盖率并发现更多隐藏的缺陷。本文将探讨探索性测试的核心概念、实施策略以及与传统测试方法的比较,旨在为软件测试专业人员提供一种更高效、适应性强的测试手段。
|
14天前
|
敏捷开发 搜索推荐 测试技术
探索式测试:软件测试的灵活之道
在软件发展的快速迭代中,传统的测试方法往往显得笨重且效率低下。探索式测试(Exploratory Testing)作为一种敏捷的测试实践,强调测试人员的个人技能与经验,提倡在测试过程中即兴发挥,以更加高效地发现软件缺陷。本文将深入探讨探索式测试的核心理念、实施步骤及其在实际项目中的有效应用,为读者提供一种全新的视角来审视和改进软件测试流程。
|
16天前
|
敏捷开发 测试技术
软件测试的艺术与科学:探索高效测试策略
在数字化时代,软件成为我们日常生活和工作的核心。然而,高质量的软件并非偶然产物,而是经过精心设计和系统测试的结果。本文将深入探讨如何通过艺术性与科学性的结合,制定出高效的软件测试策略。我们将一起走进测试的世界,了解不同类型的测试方法,探索它们在实际项目中的应用场景,并分析如何根据项目需求和资源选择最合适的测试类型。此外,我们还将讨论自动化测试的趋势,以及它如何改变传统的测试流程。让我们一起揭开高效软件测试的神秘面纱,提升测试效率,保障软件质量。
|
17天前
|
Java 测试技术 开发者
探索软件测试的多维度:从单元到系统,再到性能测试
本文深入探讨了软件测试的多个关键维度,包括单元测试、集成测试、系统测试以及性能测试。通过分析每个阶段的目标和方法,本文旨在帮助读者理解如何构建一个全面的测试策略,确保软件产品的质量与性能。我们将通过具体案例和数据来揭示不同测试阶段的重要性及其在软件开发生命周期中的作用。
37 0