软件工程:(五)软件测试

简介:

  一.基础知识 

       1. 概念                                              

           软件测试是对软件计划、软件设计、软件编码进行查错的活动(包括代码执行活动与人工活动)。

      2.目标

        (1)测试是为了发现程序中的错误而执行程序的过程;

        (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

        (3)成功的测试是发现了至今为止尚未发现的错误的测试。

          软件测试的目标一句话简言之就是:发现新的错误,以保证软件正常运行的可靠性。

       3.原则

          测试过程中,需要按照以下原则进行软件的测试活动:

        (1)测试前要认定被测试软件有错,不要认为软件没有错;

        (2)要预先确定被测试软件的测试结果;

        (3)要尽量避免测试自己编写的程序;

        (4)测试要兼顾合理输入与不合理输入数据;

        (5)测试要以软件需求规格说明书为标准;

        (6)要明确找到的新错与已找到的旧错成正比;

        (7)测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,并选择好测试用例与测试方法;

        (8)测试用留作测试报告与以后的反复测试用,重新验证纠错的程序是否有错。

      4.方法

         按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。

         测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。白盒法是通过分析程序内部的逻辑与执行路线来设计测试用例,进行测试的方法,白盒法也称逻辑驱动方法。黑盒法是功能驱动方法,仅根据I/O数据条件来设计测试用例,而不管程序的内部结构与路径如何。

       (1)静态分析技术

         不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。

       (2)动态测试技术

        把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则,描述了输入的定义域和与输出值域的关系。

  二.知识汇接

       在近段学习过程中,总结一下关于软件测试的相关知识,下面这幅图就是自己在总结过程中画出的,在绘制过程中,未尽详尽所述,捡重点的相关知识做以联系:

                                                

   三.小结述心

        对于这一阶段的学习,感觉软件工程的知识整体性非常好。一个工程的学习,就是整个软件的设计过程,在此过程中个中细节关联性也是十分的紧密。

       今后不管是考试,还是工作过程中,这方面的知识都是十分重要的,利用其它时间或者今后的备考期间,再做以更加完善地学习。








目录
相关文章
|
5月前
|
安全 测试技术 持续交付
【软件工程】实用测试手册:软件工程中各种测试类型一览
【软件工程】实用测试手册:软件工程中各种测试类型一览
149 0
|
5月前
|
安全 测试技术 持续交付
软件工程之测试阶段
软件工程之测试阶段
147 0
|
存储 数据管理 人机交互
【软件工程】测试六
【软件工程】测试六
148 0
|
存储 运维 算法
【软件工程】测试三
【软件工程】测试三
149 0
|
算法 测试技术 开发者
【软件工程】测试二
【软件工程】测试二
145 0
|
27天前
|
小程序 测试技术 程序员
『软件工程12』软件工程实践方法——软件测试
该文章详细阐述了软件测试的重要性和基本原则,并按测试阶段顺序介绍了单元测试、集成测试、确认测试以及系统测试的具体内容和实施步骤。
『软件工程12』软件工程实践方法——软件测试
|
29天前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
61 1
|
3月前
|
敏捷开发 机器学习/深度学习 人工智能
探索式测试在现代软件工程中的实践与挑战
随着软件开发模式的迭代升级,传统的测试方法已不能完全满足快速变化的市场需求和敏捷开发的节奏。探索式测试作为一种灵活、启发式的测试实践,逐渐受到业界的关注。本文将深入探讨探索式测试的定义、特点及其在现代软件工程中的应用,并分析实施过程中可能遇到的挑战,旨在为软件测试人员提供一种创新的测试视角和方法。
|
4月前
|
SQL 存储 Java
程序技术好文:软件工程概论第一次课堂测试
程序技术好文:软件工程概论第一次课堂测试
24 0
|
测试技术 程序员
【软件工程】测试八
【软件工程】测试八
123 0