1.软件缺陷的类型
答:(1)需求解释有错误、(2)用户需求定义错误、(3)需求定义错误、(4)设计说明有误、(5)编码说明有误、(6)程序代码有误、(7)数据输入有误、(8)测试错误、(9)问题修改不正确、(10)不正确的结果是由于其他的缺陷而产生
2.软件测试和缺陷修复的代价
答:缺陷发现的越早,则修复这个权限的代价就越小,在需求、设计、编码、测试、发布等不同的阶段,发现缺陷后修复的代价都会比前一个阶段修复的代价提高10倍
3.新人如何融入一个项目团队
答:学习需求文档、查阅用户手册、学习设计文档、查阅BUG库、编写测试用例、提问的技巧、寻找可学习的人、虚心学习的态度
4.程序测试包括哪些内容
答:程序测试包括逻辑功能、界面、性能、易用性、兼容性、安装等测试,当然文档测试也算,排版、字体大小、也算程序测试的内容
5.测试流程
开发:详细概要设计、编码、自测
立项、产品说明书、需求文档、需求评审 提测
测试:测试计划、编写测试用例、用例评审
上线、验收测试、回归测试、禅道、功能测试、冒烟测试
6.软件测试分类
按阶段划分:单元测试、集成测试、系统测试、验收测试
按是否运行程序划分:静态测试、动态测试
按是否查看源代码划分:白盒测试、黑盒测试
功能测试:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试
性能测试:一般性能测试、稳定性测试、负载测试、压力测试
其他:回归测试、冒烟测试、随机测试
6.1黑盒跟白盒测试
黑盒测试指的是把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是什么样子
,只关心软件的输入数据和输出数据
白盒测试指的是把盒子盖打开,去研究里边源代码和程序结构。
6.2静态跟动态测试
静态测试是指不实际运行被测试软件,而只是静态的检查程序代码、界面或者文档中可能存在的错误的过程
动态测试是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
6.3功能跟性能测试
功能测试是黑盒测试的一部分,它检查实际软件的功能是否符合用户的需求。
性能测试是软件的一个具体事务的响应时间。比如点击一个登陆按钮,到登录成功(失败)的反应时间,浏览器非常常见
6.4回归、冒烟、随机测试
回归测试是指对软件的新版本进行测试时,重复执行上一个版本测试时的用例,比如在1.0版本中,有一个bug,到了2.0版本中,再重新测试1.0中这个bug
冒烟测试指对一个软件进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性
随机测试是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误
7.软件测试的原则
答:(1)测试尽早介入、(2)杀虫剂悖论、(3)没有错误是好是谬论、(4)穷尽测试是不可能的、(5)测试显示软件存在缺陷、(6)缺陷集群性、(7)测试活动依赖于测试内容
8.软件的生命周期
答:(1)螺旋模型、(2)瀑布型生命周期、(3)迭代模型、(4)快速原型模型
主要:(5)V模型、(6)W模型
9.V模型
用户需求 验收测试
需求分析 系统测试
概要设计 集成测试
详细设计 单元测试
编码与实现
优缺点
优点:
既有底层测试又有高层测试。底层:单元测试。高层:系统测试。
将开发阶段清楚的表现出来,便于控制开发的过程。当所有阶段都结束时,软件开发就结束了
缺点:
容易让人误解为测试是在开发完成之后的一个阶段
由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源,并且代码修改起来很困难
实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试。返工量大。
10.W模型
需求分析 系统设计 交付 验收测试
概要设计 概要设计 实施 系统测试
详细设计 详细设计 集成 集成测试
编码 单元测试
优缺点
优点:
将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试。
更早的介入到软件开发中,能尽早的发现缺陷进行修复。
测试与开发独立起来,并与开发并行。
缺点:
对有些项目,开发过程中根本没有文档产生,故W模型无法使用。
对于需求和设计的测试技术要求很高,实践起来很困难。