软件测试基本概念(1)

软件测试基本概念

软件基本概念

软件 = 程序 + 数据 + 文档

C/S 架构和 B/S 架构

C/S:clinet-server:这种就是我们一定要安装一个客户端才能够用的软件,就叫C/S

缺点:每次更新,都需要更新服务端与客户端,比如说超市收银系统每次更新每台电脑都
必须重装客户端,特别是有分店的情况。人力物力财力都很大

B/S:browser-server:只需要一个浏览器,就可以访问服务的,就是B/S

优点:只要更新服务器就OK,不需要去更新浏览器。用户主动性比较高。比如天猫、淘宝

软件测试定义

软件测试就是使用人工和自动化手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求弄清预期结果与实际结果之间的差别

软件测试目的

  1. 软件测试为了发现程序(软件)存在的代码或业务逻辑错误 (找到bug)

  2. 软件测试为了检验产品是否符合用户需求(提高质量

  3. 软件测试为了提高用户的体验(提高用户体验

软件测试分类

  • 按测试技术划分(是否查看代码划分):

白盒测试、黑盒测试、灰盒测试

  • 被测试对象是否运行划分:

动态测试、静态测试(文档检查、代码走查)

  • 按不同的测试手段划分:

手工测试(点点点)、自动化测试(替代手工工具/写代码)

  • 按测试包含的内容划分:

功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试

  • 其他测试:

冒烟测试、回归测试、探索性测试/自由测试(测试思维)


冒烟测试、回归测试和探索性测试是软件测试过程中的不同类型的测试方法,各自具有不同的目的和应用场景:

  1. 冒烟测试(Smoke Testing)
    • 目的:冒烟测试旨在验证软件的基本功能是否能够运行,以确定是否值得进行更详细的测试。它通常在每次构建或版本更新后进行
    • 范围:冒烟测试通常涉及软件的核心功能或最重要的功能,而不是详尽地测试所有功能
    • 结果:如果冒烟测试通过,说明基本功能正常工作,然后可以进行更详细的测试。如果失败,可能需要修复显而易见的问题,然后重新进行冒烟测试
  2. 回归测试(Regression Testing)
    • 目的:回归测试用于确保在进行新的开发、修复缺陷或进行软件更新后,已有的功能没有受到不良影响。它有助于检测新更改是否引入了新的问题或破坏了现有功能
    • 范围:回归测试的范围通常广泛,包括了之前测试过的功能,以及与新更改相关的功能
    • 自动化:回归测试通常会自动化,因为需要频繁运行以确保软件的稳定性和可靠性
    • 频率:回归测试通常在每次软件更新或修改之后执行
  3. 探索性测试(Exploratory Testing)
    • 目的:探索性测试侧重于发现未知的问题,以及对软件的特定方面进行更深入的测试。它强调测试人员的创造性和自由度,而不是遵循预定的测试计划
    • 方法:测试人员在不断尝试和探索软件的过程中,同时记录和报告任何发现的问题。这种测试通常不是预定的,而是根据测试人员的直觉和经验进行的
    • 应用场景:探索性测试通常用于测试新功能、进行故障排查或处理难以预测的情况

这三种测试方法在软件开发和测试中都具有重要作用。冒烟测试用于快速确认基本功能的可用性,回归测试用于确保现有功能的稳定性,而探索性测试用于发现潜在问题和未知情况。根据项目需求和测试目标,这些方法可以组合使用,以全面测试软件

按测试阶段划分

  • 单元测试:主要是测试程序代码,为的是确保各单元模块被正确的编译,比如有具体到模块的测试,也有具体到类,函数、方法的测试等。一般是开发来完成
  • 集成测试:单元测试后,将各单元组合成完整的体系,测试软件单位之间的接口是否正确、数据能否正常传递。—比如说注册和充值这两个功能是否能够连通
  • 系统测试:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。一根据测试用例,进行完整的系统测试
  • 验收测试:主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。—用户对软件进行验收

Alpha测试Beta测试是软件开发过程中的两个不同阶段的测试活动,用于评估和改进软件的质量和性能。它们有以下主要区别:

  1. Alpha测试
    • 进行时间:Alpha测试通常是在软件开发的早期阶段进行的,通常由内部测试团队执行。
    • 测试环境:通常在受控的开发环境内进行,与开发团队紧密合作,可以容易地进行修改和调试。
    • 参与人员:参与者通常是内部的测试人员和开发人员,可能是软件公司的员工。
    • 目标:主要目标是识别和修复软件中的功能问题、逻辑错误和性能问题。Alpha测试旨在确保软件基本功能的正确性。
  2. Beta测试
    • 进行时间:Beta测试是在软件的开发阶段后期或最终版本之前进行的,通常由外部用户或客户执行。
    • 测试环境:在用户的实际操作环境中进行,测试软件在不同硬件和操作系统上的兼容性。
    • 参与人员:参与者是最终用户或客户,他们可以是公司的外部客户或公众用户。
    • 目标:主要目标是评估软件的可用性、用户友好性、稳定性和性能,以便识别潜在的问题和改进软件。
  3. 反馈收集
    • Alpha测试通常更加受控,测试人员和开发人员之间的反馈渠道更直接,问题的解决速度较快。
    • Beta测试侧重于从最终用户和广泛的用户群体中收集反馈,以获取更多的真实使用情况和用户体验。
  4. 风险
    • Alpha测试的风险较低,因为测试人员是内部团队成员,问题可以更容易地被解决。
    • Beta测试的风险较高,因为涉及到外部用户,可能会暴露出更多的问题和挑战,需要更多的反馈和改进。

总的来说,Alpha测试侧重于软件的内部质量,而Beta测试则侧重于软件的外部可用性和用户体验。这两个测试阶段都是确保软件质量的关键步骤,帮助发现和修复问题,以满足最终用户的需求和期望

你可能感兴趣的:(测试,1024程序员节)