什么是软件测试?
软件测试是测试人员通过一系列手段判定软件的功能是否符合用户的需求
软件功能的正确性,软件功能是否满足用户的需求
软件测试和软件研发的区别?
软件开发的流程:需求---计划---设计---编码---测试---上线维护
软件研发主要指的是编码阶段 软件测试主要指的是测设阶段
软件测试贯穿与软件开发的各个阶段软件研发指的是具体的一个阶段
软件测试是测试人员通过一些列手段判断软件的功能是否满足用户的需求,参与的人员有测试人员,开发人员,白盒测试由白盒测试人员或软件开发工程师完成 软件开发中的调试是开发人员判断次模块功能是否达到开发目的
选择软件测试的原因:
软件测试是测试人员通过一系列的手段判断软件的功能是否满足用户的需求
软件测试工程师需要与产品经理,项目经理,开发人员,用户进行交流沟通,可以很好的锻炼沟通能力
软件测试的工作内容包括需求分析--制定测试计划--编写测试用例--执行测试用例--编写测试报告--优化测试方案,在软件测试人员的工作中,贯穿于软件开发的各个阶段,可以很好的参与项目,可以体验到很好的参与感和团队感
软件测试人员既是软件的使用者,也是软件开发过程中设计者,可以从用户的角度出发思考问题,结合生活中的实际app等发现问题并提出相应的优化,工作和生活紧密联系,同时可以保持快速和持续学习能力,跟上技术和时代的进步
软件测试工程师薪资待遇也比较理想,发展前景比较好,同时面对工作我也已经准备好了抗压准备
软件测试人员具备开发知识是应该,软件开发人员和软件测试人员目的都是为了交付高质量的产品,软件测试人员对知识面的要求比较宽泛,开发知识,测试知识,日常生活中主流app观察分析知识都是要有所了解的,这应该是测试工程师基本的专业能力和技术水平,有了开发知识,到工作的后期有了一定的工作经验,专业能力和技术水平得到提升不但可以发现问题同时可以做到定位问题并可以提出相应的解决方案,才可以在测试行业走的更远
什么是需求?
用户需求:用户期望软件达到的功能,是为了满足合同 标准 规范等文档所需的条件和权能
软件需求:用户的需求经过了验证和分析,去掉不合理的需求,对需求进行细化转换为了软件需求,软件需求是测试人员进行测试的依据,也是开发人员进行开发的参考
从测试人员的角度看待需求:
用户需求---软件需求---提取出需求点--设计测试用例
测试人员如何更加深入的了解需求?
从用户的角度出发思考问题
多积经验
多和需求来源进行沟通深入了解需求
熟悉所有的业务需求
从项目一开始就介入需求,不断和用户或着项目组人员讨论参与
测试用例解决了测什么怎么测的问题:
测试用例是向被测试的软件的某一个功能点发起的一组集合
包括测试环境,测试数据,测试步骤,预期结果
什么是bug?
如果软件规格说明书存在且合理,不符合软件规格说明书的就是软件错误
如果软件需求规格说明书不在,用户需求存在且合理,不符合用户需求的就是软件错误
软件开发的生命周期:需求--计划--设计--编码--测试--运行维护
软件开发模型:
瀑布模型:分阶段进行,阶段性比较明显,测试介入的较晚,前期出现的软件错误到后期才能发现,错过了错误解决的最佳时机,可能造成较大的损失
螺旋模型:一个项目分了很多次小的迭代,适合于项目较大或者风险较高的项目 每一次迭代做风险分析,讨论项目是否有价值继续 对于风险分析要求高,需要投入专业的人员,导致时间,项目支出费用比较高
敏捷开发模型:
重目标 重产出 轻文档 轻流程
注重和用户的交互 注重和团队的交流沟通 注重产品的质量 注重产品的交付时间
产品经理 项目经理 开发人员
发布计划会 迭代计划会 每日站会 产品演示会 项目总结
软件测试模型:
v模型:左边的每一个阶段是右边测试每一个阶段的依据 测试介入的较晚,导致前期的错误后期才发现,后期测试时已经错过了错误及时纠正的最好时机
w模型:测试于开发并行 测试人员在项目需求开始就介入,前期的问题就可以及时发现 串行 阶段性强,不适合需求频繁变更的项目 不支持敏捷开发



