软件测试笔试题汇总
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试的目的:
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
软件测试类型:
1. 需求文档测试:主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现。
2. 设计文档测试:测试设计是否符合全部需求以及设计是否合理。
软件测试流程:
1. Alpha 测试: Alpha 测试(α 测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha 测试不能由程序员或测试员完成。
2. Beta 测试:Beta 测试(β 测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
驱动模块:
驱动模块在大多数场合称为"主程序",它接收测试数据并将这些数据传递到被测试模块。驱动模块主要完成以下事情:1、接受测试输入;2、对输入进行判断;3、将输入传给被测单元,驱动被测单元执行;4、接受被测单元执行结果,并对结果进行判断;5、将判断结果作为用例执行结果输出测试报告。
桩模块:
桩模块比如对函数 A 做单元测试时,被测的函数单元下还包括了一个函数 B,为了更好的错误,定位错误,就要为函数 B 写桩,来模拟函数 B 的功能,保证其正确。
白盒测试:
白盒测试(White-box Testing,又称逻辑驱动测试,结构测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
对开发语言的支持:
白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。目前测试工具主要支持的开发语言包括:标准 C、C++、Visual C++、Java、Visual J++等。
静态测试:
静态测试动态通过评审文档、阅读代码等方式测试软件称为静态测试,通过运行程序测试软件称为动态测试。在动态测试中,通常使用白盒测试和黑盒测试从不同的角度设计测试用例,查找软件代码中的错误.
回归测试:
回归测试的目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。说白了就是,我们测试人员在对程序进行测试时发现 bug,然后返还程序员修改,程序员修改后发布新的软件包或新的软件补丁包给我们测试人员,我们就要重新对这个程序测试,已保证程序在修正了以前 bug 的情况下,正常运行,且不会带来新的错误的这样一个过程。
白盒测试方法:
白盒测试有逻辑驱动、基路测试等方法,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。
软件缺陷等级划分:
1.致命错误,可能导致本模块以及其他相关模块异常,死机等问题;
2.严重错误,问题局限在本模块,导致模块功能失效或异常退出
3.一般错误,模块功能部分失效;
4.建议问题,由问题提出人对测试对象的改进意见