测试工程师基础理论:
1.什么是软件?
简单来说 软件组成可以表达为:软件=数据+指令+文档
2.软件测试的目的与原则?
2.1.目的:2.1.1 通过测试工作可以发现并修复软件当中存在的缺陷;
2.1.2. 可以降低同产品开发遇到的风险;
2.1.3. 记录软件运行过程中的一些数据,从而为决策者提供技术支持
2.2.原则:2.2.1. 缺陷集群性,2/8定律:核心功能占20%,非核心占80%,我们会集中测试20%的核心功能,发现
缺陷的几率会高于80%,因此,遇到的缺陷都会集中20%功能模块里。
2.2.2. 穷尽测试是不可能的:有些功能是无法将所有测试情况逻辑出来的,任何的测试都有结束的时间。
2.2.3. 测试需要尽早介入:为了更好地发现和解决软件中的缺陷。
2.2.4. 杀虫剂悖伦:同样的一个测试用例不能重复执行多次,不然软件会对它产生免疫
2.2.5. 测试显示软件存在缺陷
2.2.6. 测试活动依赖于测试内容:某些测试需要依赖于特殊的环境
2.2.7. 没有错误是好是谬论:任何软件都不可能是完美的
3.缺陷报告的内容?
3.1. Bug的优先级
3.2. Bug的严重程度
3.3. 开发的接口人员,与Bug产生对应的软件版本
3.4. Bug可能属于的模块。如果不能确认,可以由开发人员来判读
3.5. Bug标题,需要清晰的描述现象
3.6. Bug描述,需要尽量给出新的Bug步骤
3.7. Bug附件中能给出相关的日志与截图
4.测试人员在测试过程中的主要任务?
4.1 尽早的找出系统当中的Bug
4.2 避免软件开发过程中缺陷的出现
4.3 确保软件的质量
4.4 关注用户的需求,并保证系统符合用户需求
5.Bug不能复现改怎么办?
5.1 首先考虑到环境问题,看是否能够还原原来的环境
5.2 遇到问题就要提,不能放过任何一个Bug,在提交Bug的描述上加上一句话,那就是复现概率,尝试20次,出现一次或尝试10次,交给开发,开发会根据Bug的复现概率,调整Bug的优先级。
5.3 尽量回想问题发生时的步骤,不要漏掉任何一个细节,按照步骤的组合尝试复现。
6.详细描述一下测试的V模型
v模型的主要组成为:
用户需求——需求分析——概要设计——详细设计——编码和实现——单元测试——集成测试——系统测试——验收测试
7.开发环境、测试环境与生产环境的区别?
开发环境:开发环境是程序员们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告和测试工具,是最基础的环境。开发环境的分支,一般是feature分支。
测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产服务器上,是开发环境到生产环境的过度环境。测试环境的分支一般是develop分支,部署到公司私有的服务器或者局域网服务器上,主要用于测试是否存在bug,一般会不让用户和其他人看到,并且测试环境会尽量与生产环境相似。
生产环境:生产环境是指正式提供对外服务的,一般会关掉错误报告,打开错误日志,是最重要的环境。部署分支一般为master分支。
三个环境也可以说是系统开发的三个阶段:开发->测试->上线,其中生产环境也就是通产说的真实的环境,最后交给用户的环境。
8.浏览器的兼容性测试怎么做?
主要有以下几种方式可以:
1.分散风险 2.让其他人帮你做 3.和标准进行对比 4.自动化 5.手工测试 6.模拟
具体分析可以点击链接查看:详细介绍