Python测开28期-云影-学习笔记-软件测试基础

  • 软件测试
    通过手工或工具对“被测对象”进行测试
    验证实际结果与预期结果之间是否存在差异

  • 软件测试作用
    通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心
    测试可以降低同类型产品开发遇到问题的风险

  • 什么是软件Bug?
    软件的Bug是指软件程序的漏洞或者缺陷,除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节或与需求文档存在差异的功能实现等
    测试的职责就是,发现这些Bug,并提交给开发,让开发区修改。

  • 软件测试原则
    一、测试显示缺陷的存在:软件测试只能找出应用程序或软件中存在的缺陷,测试是为了辅助开发,降低缺陷存在的可能性而开展的活动,即便对产品或者应用程序进行了多次的、比较彻底的测试都没有发现任何缺陷,也不能证明软件是100%完美的。
    二、穷尽测试时不可能的 :由于时间和资源的限制,进行完全(各种输入和输出的全部组合)的测试是不可能的测试人员可以根据测试的风险和优先级等确定测试的关注点,从而控制测试的工作量,在测试成本、风险和收益之间求得平衡。
    image

三、测试尽早介入:软件的错误存在于软件生命周期的各个阶段,因此应该尽早开展测试工作,把软件测试贯穿到软件生命周期的各个阶段中,这样测试人员能够尽早地发现和预防错误,降低错误修复的成本。尽早地开展测试工作有利于帮助测试人员了解软件产品的需求和设计,从而预测测试的难度和风险,制订出完善的计划和方案,提高测试的效率。
另外,尽早介入测试,测试人员能够更全面的了解需求和项目整体进度,知己知彼百战不殆,说的就是这个理儿。尽早介入测试原则与测试左移和测试前移具有异曲同工之妙。
image

四、缺陷集群性(2/8原则):缺陷的“二八”定理也称为Pareto原则、缺陷集群效应,一般情况下,软件80%缺陷会集中在20%模块中
image

五、杀虫剂悖论:杀虫剂悖论是指测试人员一直使用相同的方法或手段去重复测试,这些测试只适用于一些有限的模块,而不是整个系统。这种测试可能很难发现bug,甚至无法发现bug。因此,为了涵盖项目的各个部分,它要求测试团队经常审查和更新测试用例。

六、测试活动依赖于测试内容:根据业务的不同,软件测试内部也分不同的行业,比如游戏行业,金融行业,电商行业等等。不同的行业,测试活动的开展都有所有不同,比如工具的选择,测试流程都不尽相同,所以软件测试活动的开展依赖于所测试的内容。
七、没有错误是好是谬论:软件测试不仅仅是为了找出Bug而存在的活动,而是还需要确认软件是否满足用户的期望和需求,如果产品不能满足用户的需求,即使没有出现任何缺陷,这个产品也是失败的。

  • 软件测试对象
    需求分析阶段:需求文档、接口文档
    编码实现阶段:源代码
    系统功能使用:软件程序

  • 软件测试分类
    image