软件工程
阐述软件生命周期
软件生命周期是指一个计算机软件从功能确定 、设计, 到开发成功投入使用, 并在使用中不
断地修改 、增补和 完善, 直到停止该软件的使用的全过程。
述软件测试与软件开发之间的关系
开发和测试是一个有机的整体。
开发和测试是不可分割的,在产品发布前,开发和测试是循环进行的,在开发的同事测试经理开始编写测试用例,测出的缺陷经过开发人员修改后继续测试。
开发和测试做的工作很不一样,从角色方面来看,开发和测试的关系,就像理论和实践的关系,开发人员通过自己的想象创造一套思想,之后测试人员在对它进行检验、证伪,开发人员再修改的过程从而不断丰富产品。从方法方面看,是演绎和归纳的关系,一个要掌握大量的技术,一个要不断的从实例中学习。
总之,开发和测试是相辅相成、密不可分的,开发人员开发出新的产品后要通过测试判断产品是否满足用户的需求。如果发现缺陷,需要提交给开发人员进行修复,然后再转交测试人员进行回归测试,直到产品符合需求规格说明书。一个符合用户需求的产品是开发和测试共同努力的成果。
访问网站的流程
第一步:客户端浏览器输入域名www.baidu.com
第二步:查看本地缓存是否可以解析这个域名
第三部:查看本地的hosts文件是否可以解析域名
第四部:向DNS服务器发送解析请求
第五步:DNS将解析结果返回给客户端
第六步:将解析结果缓存到本地缓存中
第七部:用解析到的的IP向web服务器发送请求
第八步:服务器给客户端返回响应数据
第九步:将服务器的返回结果保存到浏览器中
第十步:通过浏览器,将缓存的响应数据展示出来
面试问题:你是如何理解软件测试的?
软件测试是用人工或者自动化的方式对软件进行测试,目的是找到预期结果和实际结果的差异
软件测试的核心就是用最小的人力、物力、财力去找到软件的问题并让开发进行修复,从而降低商业风险,最终达到降低成本目的。
软件测试原则
- 只能证明软件存在问题,不能证明不存在
- 不能进行穷举测试,应该进行分类别测试
- 测试工作应该尽早介入
- 测试存在聚集/集群现象
- 测试依赖环境·操作环境、浏览器
- 杀虫剂现象
- 不存在缺陷谬论