• 软件测试 半路出家


    1.软件测试  为什么有软件测试

    1. 当前国内软件行业已经不是功能为主了,用户不仅仅只是对于盯着软件的功能是否满足要求,还会对软件是否容易上手,执行效率是否 ok..... 等一系列其中体验都有了更高的要求,所以着也需要我们对软件进行大量的测试 ,
    2. 有喜人喜欢创造,走上了开发岗位,而我们是为了 精益求精,为了完美所以才做的测试。

    2.软件测试干啥的

      找bug,找虫子。

    3.测试原则:

    1.  测试原则呢 就是在对开岗位做出的软件,有规则有顺序的流程性检测。
    2.   一款软件从无到有经理很多的开发阶段 由不同的人来参与开发,所以最终功能可能会存在问题,因此为了保证软件的功能试可用的,我们必须要测试。
    3. 测试软件存在缺陷:无论执行什么样的测试操作都能保证证明当前软件是有缺陷的。
    4. 不能执行穷尽测试:有些功能试没有办法将所有的测试情况都罗列出来的,所以任何测试操作都有结束时间,
    5. 缺陷存在群集现象:对于软件功能说,核心功能占20%,非核心是80%,在实际工作中我们会集中测试20%的核心功能,所以这个部分发现缺陷的几率高于80%,因此我们就会遇到缺陷都集中在20%功能模块里的现象。
    6. 杀虫剂现象:  不要对同一软件进行重复的单功能测试,会有,免疫性的。
    7. 无错误谬论:一个老员工过来说,我经验足,我的代码没有错误,神仙也有打盹的时候,老员工只是经验足,但是技术在更新,你也无法知道自己跟上时代没,新技术新问题。

    测试工作阶段流程(什么时间干什么样的事情):

    • 需求说明文档阶段:各种规格使用说明书
    • 软件架构设计阶段:API接口测试
    • 编码开发实现阶段:源代码(白盒测试、单元测试)
    • 系统功能使用阶段:软件功能主体测试(当前行业测试主流最多的一种)

    测试级别(测试流程一个套路的流程)

    • 单元测试(UT):
      •   针对代码函数,小功能的测试,一个点击事件,一个计算方法,一个功能误差  
    • 集成测试(IT)
      •   多个小功能的集合,称之为集成测试。    分开都可以用,合在一起没法用了。
    • 系统测试(ST)
      •    当前行业通用做的最多的测试,充当用户对软件功能主体进行测试。
    • 验证测试:
      •   α阿尔法测试(内测):
        •   使用之前,测试人员自己进行测试,随时监测随时更改,测试和开发人员进行自检查。
      •        贝特测试(bate版公测):
        •   以前枪火游侠游戏上的时候,《全服不删档公测正式启动》:就是让用户进行先注册玩,通过用户反馈收集错误整理。
      •   Uat测试:
        •   由客服方派出精通业务的业务员对应用软件进行测试,如果测试通过,那么就收收官。

     系统测试分类:

    •   功能测试: 验证当前软件的主题功能的是否可用
    •   兼容性测试:验证当前的软件在不同的环境下,不同的物理介质下是否可以满足条件
    •   安全测试:对用户授权的校验是否二次校验核实
    •   性能测试:消耗当前的资源,能不能达到预期的产出效果。

    测试的常用方法:

      按测试对象分类:

    1.   白盒测试:针对代码看不见的,追溯到代码源文件的底层结构,代码规范。
    2.        黑盒测试:针对软件外在的主体功能进行测试
    3.        灰盒测试:结语两者之间的接口测试(API)

      按测试对象是否执行:

    1.   静态测试:测试不执行。设计师给的设计图对照软件界面作对比。
    2.        动态测试:将软件运行在真实的环境中进行测试。

      按测试手段进行分类:

    1.   手工测试:由测试人员手动的代码进行测试验证,优点:可以灵活的操作改变测试手法和测试环境。
    2.        自动化测试:自动化有两种形态,一种是自己写脚本程序测试软件的运行是否正常,二是:通过第三方的收费软件进行高效率测试。优点:效率,快捷  缺点:收费软件,得自己写软件

     软件质量:

    描述当前软件是否好用,我们遵循软件监督ISO制定的规则,进行标准。

    • 功能性:软件需要满足用户显式稳定式的需求。
    • 易用性:容易上手,简单易懂。
    • 效率性:软件性能达标。
    • 可靠性:软件必须实现软件中的可靠性。
    • 可维护性:要求软件修复后能继续正常执行的软件操作。
    • 可移植性:当前软件平台移动到另一个平台的操作。
    1.  需求分析
      1.  当前我们的核心目的就是用户需要求点是什么  
      2.  需求来源,需求规格说明书,API文档,竞品分析、个人经验
    2. 设计用例
      1.   用例就是用户为了测试软件的某个功能的操作过程
      2.        设用例方法(等价类、边界值、判定表。。。。。。)
    3. 评审用例:对当前的功能进行添加和删除 
    4. 测试环境:  
      1.   环境:指的就是当前被测对象运行所需要的执行环境,测试人员需要具备配置测试环境的能力
      2.      环境分类(操作系统+服务器软件+数据库+软件底层代码的执行环境)
    5. 执行用例
      1.   一般在测试之前做一个冒烟测试(软件最核心的主题功能的测试)---通过冒烟测试后,再测试其他的,冒烟测试都没过就不用考虑了
      2. 有问题将此版本直接回退给开发。
    6. 回归测试及缺陷跟踪
      1.   测试检测到问题后提交给开发,开发看到后,进行软件的二次编辑,重新再对该软件进行二次测试。
      2.        缺陷跟踪:找到该软件的某个功能缺陷后,一直追踪下去。
    7. 输出测试报告
      1.   将当前的测试功能中产生数据可执行可视化的输出。方便其他人去查看。

       8. 测试结束

          将整个测试过程中产生的一些文档进行整理归档,方便好后续的版本使用。

     BS/CS架构的?

    • 上来你就直接问你你家是  B/S架构的还是C/S架构的,
    • Bs架构以浏览器为基础,只需要开发浏览器上的页面及功能,传输协议 HTTP/Https  [明文传输],使用抓包软件就可以抓取到传输的请求内容,那么不安全,经过安全加密后进行了密码加密,转码加密,算法加密,但是如果是一些常用的算法一般是会被猜到或者软件破解。
    • C/s架构是客户端和服务器之间的交互,软件需要加密加壳子,那么相对安全一点,如果说需要升级版本那么就得进行软件的重新下载,安装。
  • 相关阅读:
    Python基础09 面向对象的进一步拓展
    Python快速教程 (手册)
    Python基础03 序列
    Python基础04 运算
    Python基础08 面向对象的基本概念
    Python基础07 函数
    Python基础10 反过头来看看
    Python基础05 缩进和选择
    Python进阶02 文本文件的输入输出
    Python进阶01 词典
  • 原文地址:https://www.cnblogs.com/reeber/p/11568940.html
Copyright © 2020-2023  润新知