V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
即首先要明确客户需要的是什么,需要软件做成什么样子,需要有哪几项功能,这一点上比较关键的是分析师和客户沟通时的理解能力与交互性。要求分析师能准确的把客户所需要达到的功能,实现方式,等表述出来,给出分析结果,写出需求规格说明书。
主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。
对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,已经把程序的具体实现的功能,现象等描述出来。其中需要包含数据库设计说明。
按照详细设计好的模块功能表,编程人员编写出实际的代码。
按照设定好的最小测试单元进行按单元测试,主要是测试程序代码,为的是确保各单元模块被正确的编译,单元的具体划分按不同的单位与不同的软件有不同,比如有具体到模块的测试,也有具体到类,函数的测试等。
经过了单元测试后,将各单元组合成完整的体系,主要测试各模块间组合后的功能实现情况,以及模块接口连接的成功与否,数据传递的正确性等,其主要目的是检查软件单位之间的接口是否正确。根据集成测试计划,一边将模块或其他软件单位组合成系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。
将整个软件系统看做一个整体进行测试,包括对功能、性能以及软件所运行的软硬件环境进行测试 。
系统测试由黑盒测试员来完成,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,是否存在漏洞,以及在不同的软硬件环境中的兼容性,主要依据是《系统需求规格说明》文档 。
主要就是用户在拿到软件的时候,在使用现场,会根据用户需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。包括功能确认测试、安全可靠性测试、易用性测试、可扩充性测试、兼容性测试、资源占用率测试、用户文档资料验收等。
非正式验收测试,由用户、测试人员、开发人员共同参与的内部测试 。
α测试是指软件开发公司组织内部人员在开发环境下模拟各类用户对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。
α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。经过α测试调整的软件产品称为β版本。
内测后的公测,即将正式发布,完全交给最终用户的测试。
β测试是由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信息给开发者。测试时,开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用。在β测试中,由用户记下遇到的所有问题,包括真实的以及主观认定的,定期向开发者报告。β测试主要衡量产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持),着重于产品的支持性,包括文档,客户培训和支持产品生产能力。
注:α测试和β测试均不能由程序员和测试员完成。
测试基础是软件测试最重要最加分的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。
最好是学到什么程度呢,最好是能够理解,能有自己的话表述出来
毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。
那测试基础有哪些内容呢?
测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的分类、BUG的六要素、BUG的生命周期、BUG的定义.
测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
质量管理体系CMMI(了解)
嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。
软件测试的基础学完了过后,应该学习工具了。
其实学工具真的很容易,所以大家不用去纠结工具的选择。
把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。
在这个阶段,学习工具什么的,重点在于接口测试的学习,所有的工具的学习,都是在为了接口测试的学习做铺垫。
下面我会列出需要学习的工具和知识点,按顺序学习就好。
简单的网络协议:TCP/UDP,HTTP/HTTPS
Linux的基本操作和常用指令。
MySQL数据库的基本操作和常用sql语句。
fiddle抓包工具的使用。
postman接口测试工具的使用。
jmeter和loadrunner性能测试工具的使用。
OK,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。 接下来,你要考虑你的发展方向了。 是成为一个自动化测试工程师呢? 还是性能测试工程师呢? 还是安全测试工程师呢? 啊!这个问题好难!我也不知道该怎么选。 反正我啥都会一点,哪个岗位都能去面一面。 关于方向的选择,看我的这篇文章。登录后复制 嗯,相信你心中已经有了答案了,那我们继续往下面说。 这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐python。1.2.还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以掌握数据库的相关的应用 了! 所以现在各位可以去学习编程语言了, 不过不用像开发那样,学的那么深入。 比如Java。 python的话也是一样的(python现在变成主流了) 总之前期你两者二选一的学习就OK了。建议是学习python 啥?你问我学的啥。 我当然是两种都会啊。 哈哈哈哈哈哈哈,惊不惊喜!意不意外!
合格的开发人员一定是要养成良好的学习习惯和工作习惯的,程序员为什么要勤写博客,多做笔记?理由很简单:
整理思维、加强理解。
方便未来、回顾复习。
记录成长。
锻炼写作文字组织能力。
跟其他人反馈、互动,别人会发现一些你发现不了的问题,提升你的思维。
人脉的重要性,相信每一个工作的社畜心里都清楚,而我们开发者同样也需要积累自己的人脉。所以,在唯品会的三年里,我并未只是早出晚归,整天对着电脑工作,我会利用自己的剩余时间,去参与到一些社群里,与同行交流,参加一下线下的会议或者活动是我比较直接的扩宽圈子的方式。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删