1.通过需求分析、设计评审,制定测试计划,设计测试用例,搭建测试环境,执行各级别的测试,缺陷跟踪,参与互联网软件产品测试的全流程。
测试用例的描述:
模块+用例名字+操作步骤+正确结果+测试结果+备注
模块依据不同的软件划分,相当于是功能点的划分,先划分了功能点再使用黑盒或是白盒测试。
用例名字:清晰的表达所要测试的功能。
操作步骤:web 测试就是要说明每一步做什么,怎么做,比如登录框,输入产品设计中不合法的字符、长度大于产品设计确定的字符、不输入时校验、sql注入、正确输入,并不能很清晰的划分每一个步骤做什么怎么做。
正确结果:按照操作步骤执行后应该出现这样的结果
测试结果:操作之后的结果与正确结果不一样,表示这是一个缺陷,可以分为测试通过、测试不通过、有疑问、没有测试。
有疑问的时候需要和团队其他成员沟通,如果确定不是Bug,则不进行bug系统登录,只要有疑问就需要登录在Bug系统中,描述为现状ok。
一次成功的测试找到了缺陷。
缺陷跟踪:在Bug系统,将Bug标记为不同的状态,当从新建标记为已解决,就需要回归测试,及时更新该bug的状态。若没有解决则再次更新状态,否则可关闭缺陷。
当产品发布一个新的版本时需要测试,如果时间紧,先测试之间出现的缺陷。
在测试的过程中,需要透彻的理解产品各个模块之间的关系,比如最常见的级联更新,在某一模块的操作要及时更新到其他关联模块。
测试用例也需要不断更新,不是一成不变的。
测试用例管理,对于登录功能,几乎所有的测试用例都差不多,相当与可以设计这样的测试模板。
2.站在用户的角度,不断完善产品的用户体验。
测试是最早接触产品的,对产品进行了全方位体验。最早的用户。
3.职责:负责软件测试,保证产品质量和测试技术的创新(没做过)。
当把产品全方位测试之后,产品的问题会出现,不断测试不断修复,直到完美。
压力测试,2,5,8原则,小于2秒,表示很好,2-5秒可以,5-8,用户可以接受。最好是3秒以内。
4.快速理解互联网测试的工作原理,对测试需求做透彻分析,使用最新的测试方法和测试技能、测试平台提升测试效率。
必须对产品有深入的理解,才能够透彻了解各个模块之间的关联。
5.具有清晰的bug描述,以及快速准确定位bug的能力。
现在使用的Bug描述为:
主题+正文(操作步骤+当前状态+期望)+缺陷优先级+bug解决者+修复时间+所属模块(依据不同的软件划分不同的模块)+类型(功能设计、功能实现、UI、系统结构)+附件(如果描述不清楚可以增加截图或是数据集或是其他的文件)
缺陷不应该只有结果出错、功能不能用,还应该有设计不符合用户的日常习惯、功能存在的必要性、功能的可读性(用户可以明白,无需再解释);
6.软件的开发测试流程,掌握常用的测试用例方法。
7.具备设计和开发测试工具和自动化测试框架的能力。
会一门语言,可以基于现在的开源框架,写自动化脚本。
但是怎么设计测试工具,比如给一个产品,还是按照测试用例,将一个测试用例都用一个方法进行描述,是这样的吗?不同的测试的用例可能思想是一样的,只是数据不一样,这样的测试用例就可以写在一个方法中,使用时调用就可以,但是如何做到模板,是写自动化测试脚本的难点。
相当与白盒测试,测试每一单元的代码功能是否正确。
leetcode上的测试用例是怎么设计的???
8.很强的学习能力、分析能力、和解决问题的能力。
9.具备奉献精神、善于沟通、善于团队合作。
产品测试流程:
1.需求分析和评审
清楚产品的需求,确认需求并写相关文档保存
明确测试的需求
了解开发难点,测试时重点关注
当需求变更时,更新测试计划和测试用例
2.测试策略和计划
确定测试周期,划分测试时间点,跟随产品的迭代
测试范围、测试优先级、测试类型(接口测试、界面测试、功能测试、异常测试、兼容性测试、压力测试、稳定性测试、文档测试)
需要知道测试到什么地步,比如只需要功能跑通,不需要深究结果是否正确。测试顺序,及时调整测试计划,因为一直在调整,所以测试也需要不断的调整,其实就是需要跟团队与时俱进,知道每个阶段的任务,才能够划分测试的任务。但是测试又是推动开发的,彼此更新。
3.测试用例设计与评审
必须要完成测试用例的设计。
设计测试用例:基于不同的测试用例设计方法设计测试用例,逻辑清晰,覆盖全面。
以用户作为落脚点,产品是否好用设计测试用例。
深度挖掘功能的隐含层面进行测试用例的设计。
策略:
边界值分析
等价类
错误推测法
是否覆盖全面,补充测试用例
对测试用例评审是测试不断完善学习的过程。听取他人意见,不断完善,
用例评审原则:
1.用例与需求联系紧密,逻辑清晰,覆盖全面。设计思路清晰。
2.与团队其他人沟通,思考新的测试用例或是更深层次的测试用例。
3.测试讲需求,其他人评审。
执行测试
严格认真执行各项测试用例,记录测试结果或是其他疑问,及时沟通。
进行探索性测试。
及时记录Bug并跟踪bug状态,最好能知道是什么原因导致的。
尽量用产品设计的功能。,每一次操作都设计尽量多的模块,从而发现新的问题。
输出测试总结
回归测试;
用户角度出发,多思考
修改后的bug 再次测试,同时也要对相关模块再次测试
询问开发,修改完的模块是否会影响其他模块
有多个端的产品,若某一端出问题,需要看其他是否也有类似的问题
测试完后,要对测试情况进行分析,测试用例是否都执行过,修复
对数据类型划分,就是一种等价类划分方法。是否会出现不同的处理错误。