|
C-Language 自定义函数
求次幂函数power
|
我眼中的高级测试工程师
满足什么样的技术和经验才算高级工程师呢?说说我心中的高级工程师。
具有丰富的行业测试经验
最好有传统和互联网大公司工作经验,没有的话至少与这些公司的高级测试工程师有交流,了解他们是如何开展测试的,有助提高自己的眼界。
有良好的测试基础
掌握必要的测试理论,熟悉测试流程,需求分析,测试用例设计方法,根据项目实际需要制定测试方案。
有丰富的业务能力
做好功能测试的前提是熟悉业务,能更好的站在产品的角度去设计测试用例,才能发现基本功能以外的问题,能给产品提出建设性的需求和意见。
熟悉相关的测试工具
软件测试用到的相关工具非常多,了解和使用过这些工具,能更好的结合公司的要求及项目的需求来权衡引入哪些工具,提高工作效率。
- 管理工具:比如JIRA,Testlink,Wiki,Confluence
- 持续集成:Jenkins,Bamboo,Travis CI等,了解他们之间的区别以及如何实施。
- 自动化测试:web和mobile平台之间是如何做自动化才测试的,用到哪些工具。了解Selenium,WebDriver,Appium,Robotium测试框架,以及用哪些语言去开发自动化测试用例,Python?Java?JavaScript?知道如何选择如何实施。
- 性能测试:了解Jmeter,LoadRunner这两个主要的性能测试工具,如何开展性能测试。
有良好的代码能力
良好的代码能力可以快速掌握自动化测试,甚至可以开发测试平台。另外,当你跳槽到任何一家公司可以让你快速熟悉Java、Python、Javascript等任何语言编写的自动化测试用例。
语言能力
包括沟通能力和外语能力。沟通是一个测试人员在工作中必不可少的一项基本技能,良好的沟通会让开发人员了解问题所在,接受你的意见,从产品人员那里更好的了解需求。虽然只有在外企的时候才会用到英语,但是随着测试人员也需要学习很多的技术,开源社区的发展,很多第一手资料都是用英文写的,所以学好英文对于扩展和学习新知识有很大帮助。
所以说成为一名优秀的高级测试工程师所要求的能力还是很多的,一起努力吧!💪
Error: Permission denied (publickey)
如果你想在一台电脑上配置 github 和 bitbucket,如何配置多个 SSH git key?
输入以下命令生成 SSH Key,注意在生成过程中最好输入新的名字,比如 id_rsa_github 和 id_rsa_bitbucket
ssh-keygen -t rsa -C "your_email@youremail.com" |
然后将生成的 SSH key 文件内容复制到对应网址的个人用户设置中即可。但是明明按照官方教程做的但是在 git clone 的时候还是遇到以下问题:
Error: Permission denied (publickey)
困恼了几天的错误终于解决了。
由于我用的是macOS Sierra 10.13.3,文档这里写着如果是macOS Sierra 10.12.2 及以后的版本需要在
~/.ssh 目录下创建一个 config 文件
congfig 文件的具体配置如下:
Host * |
配置了这个文件之后,再次尝试
git clone git@github.com:shenxianpeng/blog.git |
可以 download 代码了,两个 SSH git 都好用了 : )
Jenkinsfile 配置
最近在做有关 DevOps Build 的时候,学习了 Jenkins 的 Pipeline 的功能,不得不提到的就是 Jenkinsfile 这个文件。
以下面是我配置的 Jenkinsfile 文件及简单说明,更多有关 Pipeline 请看官方文档。
pipeline { |
DevOps 实践
我想大多数的团队都面临这样的问题:
- 发布周期长
- 开发和测试时间短
- 开发和测试是两个独立的团队
- 不稳定的交付质量
- 低收益难维护的UI自动化测试脚本
- 不合理的测试权重分配
解决方法:
引入 DevOps 和分层自动化
- 组件化产品
- 产品开发引入模块化,数据驱动会使得产品更加容易实施 Unit,Server,UI 自动化测试
- 优化工程师
- 开发和测试在未来将没有界限,他们都是开发者,都会产品的质量和客户负责
- 分层自动化
- 更合理的测试权重分配,更底层的测试收益越高
- 引入工具
- 实施DevOps引入必要的工具,Bitbucket, Jenkins, Sonar, Pipelines, Docker, test framework …
Git 命令备忘
有些git命令总是记不住,在我这台 Ubuntu 使用 web 版 OneNote 不方便,那就把他们记到 Blog 里吧,需要的时候翻看一下。
git remote
git remote -v # 查看当前位置的远程代码库 |
git log
# 得到某一时段提交日志 |
git tag
git tag -a v1.6.700 -m 'Release v1.6.700' |
设置 npm install 代理
npm config set proxy=http://10.17.201.60:8080 # 设置代理 |
设置 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org |
Git remove and add remote repository
如果是通过 https 方式来 pull 和 push 代码,每次都要输入烦人的账号和密码
可以通过切成成 ssh 方式:
# 取消远程仓库 |
Nightwatch 使用 VS code 进行调试
除了通过增加
console.log('===========') |
来调试 Nightwatch 代码,如何通过配置 VS code 来 Debug Nightwatch 代码?
Ctrl+Shift+D 打开 Debug 界面,配置如下:
{ |
Nightwatch 持续集成问题
在持续集成执行自动化测试用例时候会遇到那些问题呢
- 运行时间过长
- 因为某些错误程序卡住
- 异常处理
针对以上三种情况,通过下面的三种方式进行解决
运行时间过长, E2E 测试脚本中难免需要时间等待,例如
this.pause(1000); |
因为某些错误程序卡住, 在 TestCase 中进行验证时,例如
this.assert.equal(result.value.length, 1); |
异常处理
当程序执行运行一次时,程序运行正常,一旦遇到异常时,下次执行就回出错。
例如:比如邀请账号登录系统的操作。管理员添加一个新用户,然后用这个新用户登录,之后管理员删除这个账户。但如果删除这个账号失败时,下次执行这个程序再邀请这个账号时就会提示这个账号存在的,可能这个时候这个程序就执行不下去了。这个时候就需要考虑这些异常情况处理,保证程序能够良好的执行下去。