目录
1.什么是软件测试?
软件测试就是验证软件产品特性是否满足用户的需求。
2.优秀测试人员具备的素质:
综合能力:沟通能力,快速学习能力,文字,开发能力,责任感
掌握自动化测试技术:避免大量重复性操作
优秀的测试用例设计能力:无论对什么类型的测试,都要设计出高效地发现缺陷、保证产品质量优秀的测试用例。
探索性思维:不断学习被测系统,提高错误猜测和逻辑推理能力
3.软件测试和软件开发的区别?
软件开发用程序开发的方式把用户的需求实现;测试是测试人员进行测试看这个程序是否满足需求
①它们的技能要求专业度不同
测试所需技能比较广泛,专业度没那么高;开发所需技能广度小,但专业度高
想了解测试和开发的区别,那么也得了解软件测试和软件调试的区别:
②软件测试和软件调试
- 目的不同:测试是查看软件是否满足用户的需求;调试目的是开发人员验证软件是否实现了它应该实现的功能。
- 角色不同:测试由测试人员以及开发人员(例如白盒测试中的单元测试)共同完成。调试由开发人员完成。
- 阶段不同:测试贯穿整个软件开发的生命周期,调试只是开发阶段~
4.什么是需求?
满足用户期望 或 满足合同(文档,规则,标准)的规定所需要的的条件和权限。
分为:用户需求 和 软件需求
用户需求:简单理解为甲方提出的需求,该需求一般都比较简单。
软件需求:会详细描述开发人员必须实现的软件功能。它是用户需求转化而来的。
需求是软件测试的依据,软件测试人员需要站在需求分析阶段就开始。
5.测试用例
测试用例就是向被测试的系统发起一组集合
这组集合包括:测试环境、测试数据、测试步骤、预期结果
测试用例解决了两大问题:测什么,怎么测
6.什么是Bug?
当且仅当规格说明(软件需求)是存在的并且正确,程序与规格说明之间的不匹配才是错误。
当软件需求不存在,用户需求存在并且合理,软件功能和用户功能不相符合就是软件错误。
7.开发模型
软件开发的生命周期:分析、计划、设计、编码、测试、运行维护。
①瀑布模型
特点:阶段性强,每一个阶段比较独立;看重前期需求和后期测试
缺点:测试在最后才开始介入,导致前期问题后期才发现,会失去错误补救的机会
②螺旋模型
适合于较庞大,需求不是很明确的项目
特点:强调每一个迭代的测试质量和风险分析
缺点:风险管控人力物力投入很多,成本比较大
③增量模型 、迭代模型
增量:第一周开发A 、B功能模块,第二周开发C、D功能模块
迭代:第一周先开发A,B,C,D的基础功能,第二周再在第一周的基础上开发完善其它功能
特点:抗击风险能力强
④敏捷模型
特点:轻文档,轻流程,重目标,重产出
敏捷开发有很多种方式,其中scrum是比较流行的一种。
8.测试模型
(1)V模型
特点:每一个阶段独立性强,左边每一个阶段是右边测试阶段的依据
缺点:(是瀑布模型的变种)编码后才进行测试,前期的错误后期才会发现
(2)W模型
特点:每一个阶段独立性强,测试一开始就介入,可以保证前期的问题及时发现和纠正,测试和开发并行的
缺点:每一个阶段都是串行的过程,一个阶段完了后就进行下一个阶段不支持敏捷开发。
9.软件测试的生命周期
需求分析→测试计划→ 测试设计、测试开发→ 测试执行→ 测试评估(报告)
需求阶段:测试人员了解需求、对需求进行分解,得出测试需求
计划阶段:根据需求编写测试计划/测试方案
设计、开发阶段:编写测试用例
测试阶段 :测试阶段是软件测试人员最为重要的工作阶段,根据测试用例和计划执行测试,在执行的过程中 记录、管理缺陷,测试完成后编写测试报告。
测试报告:测试情况进行分析与总结,写了多少测试用例执行了多少,发现了多少bug,修改了多少,剩下的bug的解决方案,测试覆盖率
10.如何描述一个bug?
1、发现问题的版本
开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障。
2、问题出现的环境
环境分为硬件环境和软件环境,如果是web项目,需要描述浏览器版本,客户机操作系统等,如果是 app项目,需要描述机型、分辨率、操作系统版本等
3、测试步骤
测试数据和执行测试的详细步骤,为了方便复现问题
4、预期结果
5、BUG产生时的log日志,错误截图附件
11.bug的级别
bug的定义每个公司都不一致,在定义级别之前需要查看公司规范。以下为样例:
1、崩溃
系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等(该问题在测试中较少出现,一旦出现应立即中止当前版本测试,回到上一个历史版本)
2、严重
服务器可以使用,但是不稳定,继续使用可能会产生严重的错误,以及功能菜单错误,系统主要功能部分丧失、数据库保存调用错误。
3、一般
功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。如:操作时间长、查询 时间长、格式错误、边界条件错误,删除没有确认框、数据库表中字段过多等(该问题实际测试中存在最多)
4、次要
界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。如:错别字、页面显示重叠、不该显示的要隐藏,描述不清楚,提示语丢失,文字排列不整齐,用户体验感受不好,可以优化性能的方案等(此类问题在测试初期较多,优先程度较低;在测试后期出现较少,应及时处理)
12.BUG的生命周期