软件测试|软件测试基础知识-面试常用问题(1)

1.单元测试、集成测试、系统测试、验收测试、分别是什么?且你认为以上那个环节是最重要的一步? 映射到软件开发模型中V模型,开发过程和测试过程各个阶段的一一对应关系,具体说明如下:

  • 单元测试-软件测试过程中最小粒度的测试,各模块内部是否存在错误,各个模块可以单独进行单元测试。一般是开发人员自主做测试。
  • 集成测试-组装测试,在单元测试的基础上,将所有的程序模块进行有序的,递增的测试。校验程序单元或部件的接口关系,逐步继承为符合概要设计要求的的程序。
  • 系统测试-全流程的测试,基本模拟线上环境进行整体回归测试,并最终满足用户的所有需求。
  • 验收测试-需求方根据期初设定的需求来验收系统是否符合当初需求。
其实每个环节存在即合理,相对于我个人认为,集成测试相对重要,集成测试主要对修改需求进行详细的测试。是否满足用户需求,大部分的缺陷需要在此环节发现并且修复;
其次,重要的是系统测试-需要覆盖所有联合的功能,是针对整个产品系统进行的测试;减少单个模块对系统其他模块的缺陷的及时发现。
2.白盒测试和黑盒测试的测试方法?
  • 白盒测试-称之为结构测试,逻辑驱动测试或基于代码的测试。是针对被测单元内部是如何进行工作的测试,测试检查程序的内部结构,从检查程序的逻辑着手处理。
  • 黑盒测试-通过测试检测每个功能是否能够正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试测试方法:
分为两种类型:
  • 静态测试-不用运行程序的测试,通过分析和检查源程序的语法,结构,过程,结构等来检查程序的正确性。
  • 动态测试- 需要执行代码,通过运行程序找到问题,包括功能确定与接口测试,覆盖率分析,性能分析,内存分析。
黑盒测试测试方法:
等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
3.手动测试与自动化测试的优缺点? 手工测试的优缺点
手动测试优点:
  • 测试人员具有经验和对错误的猜测能力;
  • 测试人员具有非判断和逻辑推理能力;
  • 测试人员可以采用逆向思维思考业务逻辑能力;
手动测试缺点:
  • 重复的手工回归测试,耗时,容易产生固有思维。
  • 依赖测试人员的个人能力。
自动化测试的优缺点
自动化测试优点:
  • 对程序的回归测试更方便。提高测试效率,缩短回归测试时间。可以执行一些手工测试困难或不可能进行的测试。(比如多用户并发测试)测试具有一致性和可重复性,由于测试是自动执行的,每次测试的结果和执行的内容的一致性都是可以保障的。达到可以重复测试的效果。
  • 测试脚本复用性,如果业务逻辑未修改或者少量修改,可在多个场景下重复利用。
  • 脚本的可行度,由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。如果每执行通过一次强有力的自动化测试之后,软件的信任度就增加一个次。
自动化测试缺点:
  • 不能完全取代手工测试;
  • 手动测试比自动化测试相对发现的bug 更多;
  • 对系统质量的依耐性较强;
  • 测试自动化不能提高有效性
  • 系统业务逻辑改动较大,这自动化脚本随之改动,效率成本也随之降低。
4.测试相关的流程是什么? 需求评审-详细设计测试-单元测试(根据项目及人员情况可省略或者添加)-集成测试-系统测试-验收测试-上线验证。
5.如何制定测试计划? 详细的测试计划如下:
  • 包括测试目标,测试范围,测试环境的说明,测试类型的说明(功能,性能,稳定性,安全)测试工具;
  • 模块的划分,单个模块需要时长,回归及验收测试时间安排,预计上线时间;
  • 单个模块及整个需求测试主要负责人;
  • 相关测试文档存储位置,相关测试风险。
概要测试计划如下:
  • 主要模块划分,单个模块需要时长,回归及验收测试时间安排,预计上线时间 ;
  • 单个模块及整个需求测试主要负责人。
【软件测试|软件测试基础知识-面试常用问题(1)】?记得每天都要快乐的进步一点点?

    推荐阅读