测试开发第一章、软件测试介绍

简介: 测试的活动是以测试人员“预期的结果”为依据,这里的“预期结果”指的是需求定义。

 一、什么是软件测试

最常见的理解是:软件测试就是找BUG,发现缺陷。

软件测试就是验证软件产品特性是否满足用户的需求。

从这话我们可以看出以下两点:

    • 测试试图验证软件是“工作的”,也就是验证软件功能执行的正确性
    • 测试的活动是以测试人员“预期的结果”为依据,这里的“预期结果”指的是需求定义。

    1.1软件测试的特点

    软件测试只是一个样本试验,具有不可穷尽性。


    二、软件测试和开发的区别

    image.gif编辑


    三、 软件测试与调试的区别

    image.gif编辑


    四、软件测试岗位

    软件测试工程师:工程师的主要工作一般包含需求分析、编写测试计划和测试方案、设计测试用例、执行测试用例、跟踪BUG、编写测试报告等;

    测试开发工程师:根据项目的特点来开发一些自动化测试的脚本,或自动化测试的工具,或者是软件测试工作中用到的提高工作效率的小工具什么的,从而能够更有效地进行测试,提高软件产品的质量。测试开发工程师工作的目的就是为了更高效,更快捷地让测试工程师进行测试工作;测试开发岗位一般要求一定的开发能力,解决问题的能力尤为重要。

    性能测试工程师:针对系统进行性能测试,包括使用工具和编写性能自动化测试脚本。

    安全测试工程师:主要分析产品可能会出现的安全问题,做各个方面的渗透测试,提高产品的安全性

    其它:系统测试工程师,嵌入式测试工程师,硬件测试工程师。


    五、一个优秀的软件测试人员具备的素质

    5.1综合能力

      • 沟通能力:测试工程师的沟通能力会直接影响事务开展的效率。良好清晰的沟通能力,是一个技术优秀的测是工程师是否可以获得更好发展的“敲门砖”。
      • 快速学习的能力:对不同业务需求和功能的快速学习与理解能力。 对于测试新技术和新方法的学习能力。
      • 开发能力
      • 文字能力

      5.2掌握自动化测试技术

      掌握自动化测试技术,可以把你从大量重复性的手工劳动中解放出来,这样可以把更多的精力花在更多类型的测试上。

      5.3优秀的测试用例设计能力

      如何提高测试用例设计的能力?

      1,掌握设计测试用例的方法

      2,积累,总结

      3,阅读好的测试用例设计案例

      5.4探索性思维

      探索性思维是指,测试工程师在执行测试的过程中不断学习被测系统,结合自己的经验,知识,直觉,进行系统的错误猜测和逻辑推理,整理和分析出更多有针对性的的测试关注点。

      案例:测试一台自动售票机。

      正向,逆向,边界,压力,性能,耗电量,断电,外观,没零钱.....

      5.5兴趣

      5.6有责任感和一定的压力

      责任感是任何工作的都需要的,对于测试工作者而言:

      测试往往是产品质量的最后个把关者;由于测试工作成效很难衡量,测试用例执行、bug数目的多少都无法说明产品的质量是否合格;所以,责任感是最重要的测试必备素质之一。

      压力,测试工作者,特别是属于互联网行业需要能够抗住各种压力。

      目录
      相关文章
      |
      7天前
      |
      机器学习/深度学习 人工智能 算法
      深入探索软件测试中的黑盒测试技术
      本文旨在通过一个创新视角,探讨软件测试领域中的黑盒测试技术。我们将从一个全新的维度——测试用例的生成策略出发,分析如何提高黑盒测试的效率和效果。文章不仅会介绍传统的测试用例设计方法,如等价类划分、边界值分析等,还会结合最新的技术发展,讨论人工智能在黑盒测试中的应用前景。通过案例分析和实践应用,我们期望为读者提供一套系统的黑盒测试解决方案,以应对日益复杂的软件测试需求。
      |
      11天前
      |
      敏捷开发 测试技术
      软件测试中的探索性测试方法
      【6月更文挑战第12天】探索性测试,一种灵活的测试实践,旨在通过自由形式的探索发现软件的潜在缺陷。它不依赖于事先编写的测试用例,而是鼓励测试人员利用直觉、经验和创造力来指导测试过程。本文将深入探讨探索性测试的核心概念、实施策略以及它如何增强传统测试方法的有效性。
      |
      25天前
      |
      测试技术
      软件测试中的自动化测试技术应用
      在当今快速发展的软件行业中,自动化测试技术正变得越来越重要。本文将探讨自动化测试技术在软件测试中的应用,包括其优势、常见工具及实施步骤。通过了解自动化测试技术的相关内容,读者可以更好地理解其在软件测试中的作用,提高测试效率和质量。
      30 0
      |
      5天前
      |
      敏捷开发 测试技术
      软件测试中的探索性测试方法
      【6月更文挑战第18天】本文将深入探讨探索性测试(Exploratory Testing)在软件测试领域的重要性与实施策略。不同于传统的脚本化测试,探索性测试强调测试人员的主观能动性和创造性,以真实用户的角度出发,发现那些可能在规范性测试中被忽视的问题。文章首先介绍探索性测试的定义和优势,然后通过案例分析,展示如何有效执行探索性测试,最后讨论其在敏捷开发环境中的适应性以及如何与传统测试方法相结合以提升测试覆盖率和效率。
      |
      20天前
      |
      中间件 测试技术
      软件测试之【软件测试概论二】
      软件测试之【软件测试概论二】
      9 1
      |
      20天前
      |
      安全 测试技术
      软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
      软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
      21 1
      |
      20天前
      |
      编解码 测试技术 数据库连接
      【软件测试】 软件测试生命周期与Bug
      【软件测试】 软件测试生命周期与Bug
      |
      23天前
      |
      机器学习/深度学习 人工智能 安全
      探索软件测试的新时代:AI驱动的测试自动化
      本文深入探讨了人工智能(AI)如何革新软件测试领域,特别是测试自动化。随着AI技术的不断进步,它为测试自动化带来了前所未有的效率和准确性,从而极大地提高了软件开发的速度和质量。本文将详细介绍AI在软件测试中的应用,以及它如何帮助测试人员克服传统测试方法的局限性。
      |
      20天前
      |
      NoSQL 关系型数据库 MySQL
      软件测试之【基于开源商城系统fecmall功能测试项目实例】
      软件测试之【基于开源商城系统fecmall功能测试项目实例】
      47 0
      软件测试之【基于开源商城系统fecmall功能测试项目实例】
      |
      20天前
      |
      XML Web App开发 Java
      【软件测试】关于Web自动化测试
      【软件测试】关于Web自动化测试