目录
软件测试的目的和原则
目的:验证软件有无问题。
原则:以客户为中心,遵循软件测试的规范、流程、标准和要求。
1.什么是软件测试?
针对软件(APP、web系统、软件产品等)进行的测试,测试软件是否满足用户需求
1.1测试与调试的区别
- 目的不同:测试是发现程序中的缺陷;调试是定位并且解决程序中的问题。
- 角色不同:测试主要是由测试人员和开发人员来执行,黑盒测试主要由测试人员完成; 单元/集成测试主要是由开发人员执行。调试由开发人员完成。
- 执行的阶段不同:测试贯穿整个软件开发生命周期(需求-计划-设计-编码-测试-运行维护),调试一般在开发阶段。
1.2软件测试和研发的区别
- 难易程度 :开发广度小、专业度高;测试广度大,专业度低
- 工作环境 :基本类似
- 发展前景 :自动化测试、安全测试等领域发展前景和研发基本一致。
- 技能要求 :测试要求更广泛:业务能力,设计和架构分析能力,测试手段和工具使用,用户模型分析和理 解, 编程能力。
2.软件测试岗位有哪些
- 软件测试开发工程师(software engineer in test,SET):google的角色划分,开发角色,工作重心为可测试性以及通用测试基础框架。编写单元测试框架和自动化测试框架。SET关注质量提升和测试覆盖率;
- 测试工程师(test engineer,TE):与SET关系密切,但把用户放在第一位来思考。TE组织整体测试实践,并进行分析总结,驱动测试执行,构建端到端的自动化测试;
- 软件开发测试工程师(software development engineer in test,SDET):微软的角色划分通常称为测试人员(Tester),负责高标准的测试和质量保证,需要编程能力;
- 按测试对象划分:web测试工程师、 APP测试工程师、游戏测试工程师 、嵌入式测试工程师
- 按是否手工:手工测试、自动化测试;
- 按测试分类:功能测试、性能测试、安全测试等;
3.软件测试在不同类型公司的定位
- 无组织性:测试依附在软件开发的组织下,由开发人员进行测试,缺乏交流和思维的碰撞,可能会导致问题发现的不及时
- 专职VS.兼职:
- 项目性VS.职能性:项目型的测试组织是指测试人员作为项目组成员从头到尾参与到项目中;职能型的测试组织是指测试人员参与到项目中是以独立的测试部门委派的方式进入的。
- 综合性:
4.软件测试的职业规划
- 初级:测试定义、测试方法、测试生命周期、测试执行、测试管理工具
- 中级:测试用例、Linux、MySQL、loadrunner、测试管理工具、selenium、appium、jenkins等
- 高级:自动化测试、性能测试、安全测试、功能测试
自动化测试:自动化测试框架、APP、web、C/S
性能测试:性能测试框架、loadrunner、jenkins;调优Linux、MySQL、Oracle、http等
安全测试:sql注入、xss、白帽子
功能测试:兼容性、界面、易用性、业务、回归、探索性测试