51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1863|回复: 3

[python] 【原创】Python的应用以及学习方法

[复制链接]
  • TA的每日心情
    无聊
    4 小时前
  • 签到天数: 919 天

    连续签到: 1 天

    [LV.10]测试总司令

    发表于 2018-10-31 16:58:32 | 显示全部楼层 |阅读模式
    工作经验:
    分两部分,一个是测试方面,一个是开发工具方面,具体描述如下->
    1. 测试方面,根据公司的发展测试三个方面的产品:手机(Mobile Phone),路由器方面
    (1)(Mobile hot spot以及LTE 的fixed wireless gateway)以及模块方面->Mobile Phone: PHS/2G/3G/4G
    Skill: 安排测试计划,制定测试策略,执行测试任务快速定位bug,并协助RD快速解决问题。

    (2)MHS/LTE FWG: 安排测试计划,分配测试人力以及参与具体测试任务。Skill: 快速学习业务知识,快速规划测试计划,及执行测试任务快速定位bug,RD快速解决问题。
    (3)Module: AT Command/Json Command/Cloud Command
    Skill:快速学习新知识,快速规划测试计划,以及参与具体测试任务快速定位bug,并协助RD快速解决问题。

    2. 开发方面,分为两方面一个是Python,另一个是C++
            (1) Python: 规划并鼓励带领大家针对以下项目完成自动化:
               Mobile phone: 智能手机1个项目的工具开发
               Module: 6个模块类项目的工具开发
               工厂工具: 3个项目的工厂工具压力测试工具开发
               MHS/LTE FWG: 4个路由器类项目的工具开发
    Skill: 5年开发经验,熟练,在大家没有自动化开发技能且完成现有测试
                    任务的基础上主动规划并联络两次外部老师给团队进行培训,安排内部持
    续学习并解决成员在学习和开发过程中遇到的问题,并针对每个项目规划开发方向。
            (2) C++:规划并鼓励带领大家针对以下项目完成自动化:
              RF Team DVT Automation test Tool :包括6个test case
              DQA Team Behavior and Throughput test:包括2个test case
              RF Team处理文档的自动化工具:RF Cable Loss Tool
    Skill:超过2年开发经验,熟练,在大家没有C/C++开发背景的基础上主动规划团队自学C/C++ schedule,与大家共同学习,并解决成员在学习和开发过程
    中遇到的问题,并针对每个项目规划开发方向。

            (3) Python结合C++:改善目前的脚本项目没有MMI的问题
    Skill:0.5年经验,定方向,找资料,规划改善项目,引导大家学习方向。


    首先我们先回答第一个问题即Python的应用
    要回答上面的问题首先明确一个基本概念:Python首先是一个脚本语言,所以当然需要学习语言的语法,但是更为重要的是Python有各种模块,每个模块有自己的功
    能,有的模块是Python自带的,有的模块是第三方模块,必须自己另外安装,根据我的经验,第三方模块非常重要,一个模块可以解决一个方向的自动化测试。
    有了上面的基本概念,我来继续说明
    a. 基于网页的测试的项目,例如路由器测试的自动化,用到的模块Selenium (说人话:就是你在做黑盒测试的项目,需要打开浏览器,需要测试的功能都是在网
    页上。) 而我们这个Selenium这个模块提供了很多用于控制网页以及网页上各种控件的函数,所以在有了一定的Python的基础上再结合Selenium模块就可以达到我
    们的目的(说人话:对于Python的基本语法有了解,做过简单的Python的项目即可,不需要太深入的了解,要问为什么,因为你只有函数没有其它代码如何将这些函数
    组织起来,实现你想实现的功能呢?)
    b. 基于运行在Windows OS上的程序的自动化,例如硬件的测试需要控制,用到的模块Pywinauto(说人话:就是不管是我们软件测试还是硬件测试,只要用到运行在
    windows系统上应用软件,就可以通过控制这个软件进而实现自动化)我们这个Pywinauto这个模块提供了很多控制应用软件以及应用软件上各个控件的函数。
    c. 补充模块:Pymouse和Pykeyboard,这两个模块就是控制鼠标和键盘的,一定要慎用这两个模块,它们只是上述两个模块的补充。
    你可以根据自己实际的工作来看你需要实现什么,你的黑盒测试流程是什么,你在执行黑盒测试使用的工具是什么:是网页?是安装在windows的软件?
    例如:硬件同事需要使用QRCT此工具(熟悉硬件测试的人员应该很熟悉这个软件吧)
    测试产品,麻烦的是需要将产品放到高低温箱中,测试一夜,需要定期点击这个页面上的两个按钮
    问题来了:谁能一夜不睡,去做这个无聊且没价值的工作?当然有:Python ^_^,用到什么模块?Pywinauto,因为QRCT此工具是安装在Windows OS上的软件。废话不
    多说,直接上代码:


    所以应该能回答了各位的问题了吧?要问Python能做什么,需要我们先确认我们需要什么?你的黑盒测试需要控制的对象是什么。Python非常强大,第三方模块也非常丰富,几乎可以满足你的所有需求。它可以应用到软件测试也可以应用到硬件测试,只要明确你在手动测试时使用的工具,然后再确认使用Python的第三方模块或者自带的模块是否可以控制这些工具即可。
    知道了的应用这么给你给力,我们来看看如何学习Python。
        我学习Python已经5年了,为什么学习Python是因为当时公司在做智能手机,
    希望可以对手机一些测试项目实现自动
    化,找到了Monkeyrunner这个模块,所以才进一步接触到了Python这个语言。学习语言,真的方法很无聊,需要学习语法,写属于自己的第一个hello world程序。
    真的与学习其它的语言相比并没有什么特殊之处。但是我想强调的是:看一万遍都不如自己实际手动试一遍,实践非常重要,学习要有目的性。我建议学习Python不能预订的目标就不能仅仅是我要学习Python,Python只是一个工具,这个工具、就只是辅助你实现你想实现的功能,Python的模块非常之多,你无法穷尽的将这些模块一一全部学习一遍,所以学习Python你首先要明确你学习它的目的是什么?你希望通过它帮助你实现什么功能。这个非常重要,然后我们再返回来将Python的基本语法知识快速扫过一遍,再次我建议可以看“超级无敌Python教程”此本电子书。但是请记住看这些电子书只是让你快速了解一下Python的基本语法,然后再根据你的需求找寻模块,根据我的经验,大部分是第三方模块,然后就要学习这些第三方模块,主要就是学习这些模块中各个函数的用法。然后就可以尽快动手实践了,当然在学习基本语法和第三方模块时,也要动手写一些小程序,不能只是动眼不动手。如果你问我,这些第三方模块怎么学?那么请你看博为峰网校上的“Python系列课程”,其中有详细的讲解。而Python语法怎么学,哇塞,这个问题有点无言以对,因为网上有很多很多很好的课程,甚至是免费的课程,也有很多资料,免费的资料,这个只能靠自己耐着性子去读,去实践了……




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-3-6 10:31
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]测试连长

    发表于 2018-11-1 11:23:45 | 显示全部楼层
    很棒,赞一个。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 13:29 , Processed in 0.068018 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表