1:什么是软件测试
软件测试是软件生命周期中的一个阶段,软件测试的目的就是为了确保软件产品质量,使得产品能够顺利交付和通过验收。
2:什么是软件生命周期
2.1需求分析,用户需要做什么
2.2软件的设计阶段
2.3软件的编码阶段,写代码
2.4软件的测试阶段
2.5软件的验收阶段
2.6软件的运行与维护阶段
3:软件测试的分类
3:1按阶段分类:单元测试测试(程序员自己来做,C语言中最小的单元函数,java面向对象语言中最小的单元是类),集成测试(单元模块之间的集成)、系统测试(测试工程师来做)、
验收测试。(第三方验收、业务部门验收、产品经理验收)。
3.2按组织划分:开发方的测试(alpha测试)、用户方的测试(beta测试)、第三方测试。
3.3按技术划分:白盒测试(针对程序大代码逻辑进行测试,一般由开发来做)、黑盒测试(不需要看代码、参照用户需求规格说明书,进行的功能测试)、灰盒测试(借助一些测试工具,辅助一定的代码进行)、静态测试(检查每个阶段文档,检查代码的编码规范,不需要运行代码)、动态测试(需要运行代码)
3.4按需求划分:功能测试、性能测试、性能测试(前端用户的响应性能、后端的资源)、安全性测试。
3.5其他分类:回归测试、冒烟测试(smoke tesing,对核心功能进行检查测试)、随机测试。
4:软件测试的流程:
4.1软件的测试需求分析
4.2软件测试计划阶段
4.3软件测试用例设计阶段(就是软件测试测试的 操作步骤、数据、他是软件测试的核心)
4.4软件测试环境搭建(测试人员的测试环境要独立出来,不能和开发共用一套环境)
4.5测试的执行阶段(回归测试,对缺陷的进行跟踪)
4.6软件的验收阶段
5:软件测试的职业发展方向:
走技术路线:
5.1功能测试工程师(以黑盒为主、竞争力不强、可替代性强,薪水偏低)
5.2自动化测试(采用一些工具进行测试、需要一定代码和工具脚本基础,有技术含量、相应的薪水也会高)
5.3性能测试工程师(在大并发量、大数据量、大用户量情况下、需要一定的代码基础和测试工具脚本技术、相应薪水也会高)
5.4接口测试工程师(接口的功能、接口的性能,有技术含量,薪水高)
5.5白盒测试工程师(竞争力强,薪水相应也会高)
5.6安全性能测试工程师
走管理路线:
5.1初级测试测试工程师
5.2测试小组长
5.3测试主管/测试经理
5.4测试总监(大公司设置有这个职位、纯管理的职位、制定整个企业软件测试的流程、人员的招聘招募、流程的改进)
6:软件的组成
6.1程序
6.2文档
6.3数据
7:软件的架构
7.1C/S架构,Client/Server,比如:QQ
7.2B/架构,Browser/Server,比如:淘宝、京东
8:软件测试企业组织架构
9:软件测试用例设计
9.1等价类划分
9.2边界值
9.3因果图
9.4判定表
9.5错误猜测法