一、软件测试是什么
软件测试就是证明软件不存在错误的过程 软件测试就是为了证明程序能够正确运行
软件测试和研发的区别
1.软件开发中调试和测试的区别: 目的: 调试是开发人员查看自己写的代码是否实现想要的功能。 软件测试是测试人员查看软件是否实现的用户的需求。 参与人员: 软件测试:黑盒测试工程师,白盒测试工程师,开发人员(单元测试)。 软件调试:开发人员。 执行阶段: 软件调试只在开发阶段。 软件测试的阶段贯穿软件开发的整个生命周期。
2.技能要求,专业度 开发要求技能少,专业度高。 测试要求技能更广,深度低。
3.一个测试人员应该具备哪些素质? 一 踏实细心和积极主动 二 好奇心,怀疑一切 三 与他人良好交流的能力 四 持续不断的自我提高和总结能力 五 强烈的责任感
4.为什么要选择测试岗位?(兴趣,能力,责任感,压力。) 软件测试是一种趋势,它将在软件开发中占据越来越重要的位置;
测试和开发是两个关注点不一样的工作。开发的目标是实现功能,测试的目标是确定功能是否能够正常运作。我选择测试主要是因为在这个过程中可以“发现”和“分析",软件测试讲究的是思路,尝试各种思路去发现问题,我觉得我可以在这方面充分的利用自己的发散性思维;
就性格方面来讲我觉得我也比较适合软件测试,具有好奇心,善于怀疑,同时考虑问题也比较全面,我觉得这在测试过程中是必不可少的;
还有就是成就感,研发是一个从0到1的过程,而测试是从1到1的过程,是在原来1的基础上把1变为一个更强壮的1,前后可以有一个明确的对比,更能从中获得成就感,进而更有动力。
二、什么是需求
IEEE定义:软件需求是 (1)用户解决问题或达到目标所需条件或权能(Capability)。 (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 (3)一种反映上面(1)或(2)所述条件或权能的文档说明。它包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。
总结来说:为了满足用户的期望和规定的合同(文档,标准,规范)所需要的条件和权能。
软件开发的一个过程:
用户需求–>软件需求–开发编码–>测试–>运行上线。 软件需求由用户需求转化而来,它是经过对用户需求的验证(正确性,合理性),分析后,具体的功能实现的细节说明。
需求是开发人员开发的依据,也是测试人员测试的依据。
三、什么是bug
bug的起源是有一只虫子引起的。 软件错误的一般定义: 程序与规格说明之前不匹配 。 注意:准确的来说,当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。 当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。
当软件需求规格说明存在并且合理,软件功能和软件需求不相符,是BUG; 如果软件需求不存在,用户需求存在并且合理,软件最终没有实现用户预期合理需求,是BUG。
四、什么是测试用例
测试用例其实是向被测试系统发起的一组集合,测试环境,测试步骤,测试数据,预期结果,标题,重要性,功能模块,优先级,执行方式。 例如: 上图是对测试思路的整理,功能的测试点要写出来。 如下是一个很经典的水杯测试用例:
五、开发模型
软件开发的生命周期:需求–计划–设计–编码–测试–运行维护。 瀑布模型: 优点: –强调开发的阶段性; –强调早期计划及需求调查; –强调产品测试。 缺点:–风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会。 螺旋模型: 这对于那些规模庞大、复杂度高、风险大的项目尤其适合。 但是需要更多地人员、资金和时间的投入。 增量模型,迭代模型:
敏捷开发
轻文档,轻流程,重目标,重产出。
周期短,团队人员少,高质量可用的软件。
敏捷流程
角色: PO(product owner),客户的代表方,整理客户需求,形成user story SM(scrum master),项目经理,管理整个开发流程,保证敏捷开发流程的顺利实施 ST(scrum team)研发团队,各种技能人员组成,开发,测试,目标是交付一个高质量可用软件。
流程: 发布计划会议 迭代计划会议 每日例会 演示会议 回顾会议
六、测试模型
V模型: V模型是瀑布模型的变种,仅仅把测试作为在编码之后的一个阶段,未在需求阶段就进入测试。
W模型: W模型优点:尽早发现前期的问题,便于解决。 缺点:它的过程是串行的,不能够适应需求的变化,不能实现敏捷开发。
总结
|