什么是软件测试
找bug, 验证软件的功能是否满足用户的需求(自己拓展)
- 为什么你要学软件测试
测试与调试的区别:
目的不同
–测试的任务是发现程序中的缺陷;调试的任务是定位并且解决程序中的问题。
参与角色不同
–测试主要是由测试人员和开发人员来执行,黑盒测试主要由测试人员完成、单元/集成测试主要是由开
发人员执行。调试由开发人员完成。
执行的阶段不同
–测试贯穿整个软件开发生命周期,调试一般在开发阶段
- 写测试用例:问面试官 假设场景 写公共的特点
软件测试的目的与原则
目的:验证软件有或没有问题。
原则:以客户为中心,遵循软件测试的规范、流程、标准和要求
什么是需求
满足用户期望或正式文档规定的条件或权能,包括用户需求或软件需求。
- 用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该
需求一般比较简略。 - 软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。
什么是BUG
当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是
错误。
当没有需求规格说明书时,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。
什么是测试用例
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
软件生命周期
生命周期可以分成6个阶段,即需求分析、计划、、设计、编码、测试、运行维护。
- 瀑布模型(Waterfall Model):
start —需求分析— 计划— 设计— 编码— 测试— End
1.特点:瀑布模型的每一个阶段都只执行一次,因此是线性顺序进行的软件开发模式。
2.适合于需求相对稳定的项目。
3.缺点:测试比较晚,修改成本大。 - 螺旋模型
1.特点:渐进式的开发模式。
2.适合那些规模庞大、复杂度高、风险大的项目。
增量 迭代
增量通常和迭代混为一谈,但是其实两者是有区别的。增量是逐块建造的概念,例如画一幅人物画,我们可以先画
人的头部,再画身体,再画手脚……而迭代是反复求精的概念,同样是画人物画,我们可以采用先画整体轮廓,再
勾勒出基本雏形,再细化、着色。
增量开发能显著降低项目风险,结合软件持续构建机制,构成了当今流行的软件工程最佳实践之一。增量开发模
型,鼓励用户反馈,在每个达代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发。因此,在这
种开发模式下,每一次的迭代都意味着可能有需求的更改、构建出新的可执行软件版本,意味着测试需要频繁进
行,测试人员需要与开发人员更加紧密地协作。