① 做软件测试都需要学什么呢
蜗牛学院这里根据行业变化和企业用人需求整理了一份Python软件测试学习路线,主要学习以下内容,题主可以了解一下~
第一阶段:专业基础课程
阶段目标:
1. 熟练掌握IT核心技术:编程,数据库,操作系统,版本控制
2. 能够熟练运用所学技术搭建各类服务器环境
3. 深入理解软件研发过程各种疑难杂症及处理手段
4. 掌握Python编程技术并熟练运用Python进行程序设计
知识点:
1、Web页面元素,布局,CSS样式,盒模型,JavaScript程序设计,函数,基础算法,正则表达式。
2、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,约束,视图,存储过程,函数,触发器,事务,游标,建模工具深入理解数据库管理系统通用知识及MySQL数据库的使用与管理。为软件测试和测试开发打下基础。
3、Linux安装配置,文件目录操作,VI命令,管理,用户与权限,环境部署,Shell编程Linux作为一个主流的服务器操作系统,是每一个测试开发工程师必须掌握的重点技术,并且能够熟练运用。
4、Python编程基础,语法规则,函数,数据类型,PDBC,培养扎实的Python编程基本功,同时对Python核心对象编程有熟练的运用。
5、Python面向对象,异常处理,文件IO,多线程,网络编程,PyQT界面开发,深入理解面向对象编程,异常处理机制,多线程原理,网络协议知识,并熟练运用于项目中。
第二阶段:专业核心课程
阶段目标:
1. 熟练应用所学知识完成一个标准的软件测试项目
2. 熟练运用Python完成GUI测试,接口测试和性能测试开发
3. 对测试开发技术体系和实现原理有深入的理解
4. 灵活运用测试开发技术解决项目中的各种问题
知识点:
1、软件工程,软件质量,系统测试流程,方法,专业术语,测试用例设计,禅道管理工具,测试报告,缺陷管理理解软件工程的各类实际问题,理解系统测试的理论、方法与过程,熟练运用测试用例设计方法高效设计测试用例。
2、测试需求分析,测试方案设计,测试用例设计,测试项目实施,缺陷报告与测试报告,深入理解系统测试各个过程和关键环节,熟练完成系统测试项目。
3、SikuliX框架,UIAutomation框架,Selenium WebDriver框架,基础框架,Android应用,Monkey测试,Appium移动端测试框架,UIAutomator2移动端测试框架综合运用各类应用操作平台,完成各种自动化测试框架的学习和应用,深入理解GUI自动化测试技术及相应框架的测试开发。
4、Python单元测试框架,网络通信协议,HTTP与HTTPS协议,WebService与WebSocket协议,Python的接口测试库,PostMan与SoapUI接口测试工具通过对代码级接口测试和协议级接口测试的测试开发实战,灵活运用Python开发接口测试脚本,熟练运用各类接口测试工具。
5、性能测试原理,指标体系,场景设计,实施过程,JMeter工具应用,BeanShell脚本开发,Python+Locust性能测试框架深入理解性能测试技术体系和方法论,熟练运用JMeter性能测试工具和Locust性能测试框架实施对任意系统的性能测试。
第三阶段:综合实战项目
阶段目标:
1. 将软件测试和测试开发技术灵活运用于项目中
2. 具备较强的测试开发能力,独立完成测试开发项目
3. 综合运用软件测试技术,满足企业中高级人才需求
4. 对所学技术有深入的理解并具备独立解决问题的能力
知识点:
1、测试需求分析,同行评审,测试计划,测试方案,测试用例,配置管理,持续集成。通过对大型企业级应用系统的测试项目实战,强化理解系统测试项目的实施过程与技术细节。
2、接口测试设计与实施,回归测试,冒烟测试,安全性测试,RobotFramework框架应用,UI自动化实战将各类自动化测试技术结合项目实战演练,强化对自动化测试技术的运用,同时掌握更多的测试框架。
3、性能测试项目实战,LoadRunner性能测试工具,总结通过综合项目实战,将全套测试技术融入到项目中,强化学习效果和项目经验。
4、Python原生测试框架开发,包括Monkey,UI,图像识别,云测试平台,HTML测试报告,持续集成,KDT关键字驱动框架开发等原生技术实现通过大量的Python原生代码开发,深入理解自动化测试开发技术的底层实现原理,完全抛弃对工具的依赖,做到真正的测试开发技术。
5、基于测试框架的设计思路和实现手段,自主实现一套测试框架能够独立完成一套自动化测试框架,并能够直接用于实际项目中。
6、持续集成与Jenkins,安全性测试原理与工具,Python爬虫开发与Scrapy框架,提升软件测试其它类技术,增强知识面,提升竞争力,助力职业发展。
补充知识
1、算法进阶,图像处理,视频处理,加密解密,压缩算法。
2、UML统一建模语言、五种图、类图、类图详解、用例图、时序图。
3、Dubbo分布式开发框架,Oracle关系型数据库管理系统,MongoDB非关系型数据库管理系统。
4、大数据开发框架Hadoop/MapRece/Spark。
5、Android与iOS的原生应用开发与WebApp开发。
6、OpenCV图像处理框架、TensorFlow深度学习框架,Lucene全文搜索引擎与中文分词框架Ik-Analyzer,视频处理算法与框架等。
② 2018福建农信社的报考条件是什么
2018福建农信社招聘公告尚未发布,可参考去年报考条件:
(一)身体健康,品德良好,作风正派,遵纪守法,无不良记录,服从分配。
(二)学历及专业
1.笔试类
(1)学历范围
面向社会招聘类需具有国民教育系列全日制大专及以上学历(具体以各行社招聘岗位学历要求为准,系统内服务劳务派遣人员学历按有关要求执行)。
(2)专业原则上不限(招聘专业性较强的岗位除外)。
2.免笔试类
(1)学历范围
①211免笔试类毕业生须为:
A.211(含分校、部队系列123所)普通高等院校;
B.招生分数线在我省211以上的国家部(委)直属普通高校及原国家部(委)直属普通高校(以学校书面函证为依据,并附上办事处初审意见,由省联社逐一查对确认);
C.海外排名200名以内大学本科及以上学历;
D.全日制普通高校研究生。
②本一批免笔试类毕业生须为:
A.本一批次普通高等院校,即参加高考时录取高校为本一批次普通高校;
B.招生分数线在我省本一批(本一批具体录取分数线严格对照录取当年的招生简报)以上的国家部(委)直属普通高校及原国家部(委)直属普通高校;
③上列生源第一专业须为非艺术类专业毕业。
(2)专业:免笔试类专业按招聘行社具体要求,对无具体要求的类别按具有国民教育系列全日制金融、财会、经济、农业、法律、文史、哲学、政教、汉语言文学、文秘、计算机及相近专业审核。
(3)比例要求:面试比例应不低于1:3(D类行社按不低于1:2),否则相应减少招聘名额。
3.学历及相关证书必须在2017年8月31日前取得。
(三)年龄
1.本科及以下学历人员年龄在26周岁(含)以内(1991年1月1日以后出生)。
2.硕士研究生可放宽至32周岁(含)以内(1985年1月1日以后出生)。
3.博士研究生可放宽至35周岁(含)以内(1982年1月1日以后出生)。
4.现在银行业金融机构工作满2年的在职正式员工,年龄可按其全日制普通高校第一学历相应放宽4周岁,如:本科学历可放宽至30周岁、硕士研究生放宽至36周岁。
(四)高学历考生均可低报,即符合免笔试条件考生可低报笔试类。
③ 如何进行高效的Rails单元测试
登录
En |
中文 |
日本 |
Fr |
Br
482,381 一月 独立访问用户
语言 & 开发
特别专题语言 & 开发
从概念到原型只需要24小时——开源硬件和3D打印是如何协助智能硬件开发的
硬件复兴正成为一个新的浪潮,各种智能硬件层出不穷。在这场新的浪潮
中,和时间赛跑就成为一个重要的竞争手段。在一个好的创意迸发以后,如何在最短时间内对创意进行实体化,加速0-1的过程?随着开源硬件和3D打印的发展
和完善,在24小时内完成0-1的过程已经成为可能。
浏览所有语言 & 开发
Java
.Net
云计算
移动
HTML 5
JavaScript
Ruby
DSLs
Python
PHP
PaaS
架构 & 设计
特别专题架构 & 设计
从概念到原型只需要24小时——开源硬件和3D打印是如何协助智能硬件开发的
硬件复兴正成为一个新的浪潮,各种智能硬件层出不穷。
在这场新的浪潮中,和时间赛跑就成为一个重要的竞争手段。在一个好的创意迸发以后,如何在最短时间内对创意进行实体化,加速0-1的过程?随着开源硬件和
3D打印的发展和完善,在24小时内完成0-1的过程已经成为可能。
浏览所有架构 & 设计
建模
性能和可伸缩性
领域驱动设计
AOP
设计模式
安全
云计算
SOA
过程 & 实践
特别专题过程 & 实践
对《敏捷方法介绍》一书的作者,Sondra Ashmore与Kristin Runyan的问答
由Sondra Ashmore与Kristin Runyan编写的《敏捷方法介绍》一书对敏捷方法的价值、原则与实践进行了简单而直观的介绍,书中的内容包括了对多位在敏捷转型方面享有盛名并且受人尊敬的专家的采访。作者Shane Hastie。
浏览所有过程 & 实践
Agile
领导能力
团队协作
敏捷技术
方法论
持续集成
精益
客户及需求
运维 & 基础架构
特别专题运维 & 基础架构
架构师(2015年1月)
本期内容推荐:解读2014之云计算篇:
有一种态度叫做“拥抱”(上);解读2014之iOS篇:拥抱变化;解读2014之Docker篇:才气、运气、勇气;SDN落地的实践与思考:带着问题
找方案,别管定义啦;Swift编程语言;手机淘宝构架演化实践;手机QQ的移动化实践之路;物联网传输协议MQTT;从信息安全看未来物联网发展;赵海
峰:大数据决定互联网金融未来。
浏览所有运维 & 基础架构
性能和可伸缩性
大数据
DevOps
云计算
虚拟化
NoSQL
应用服务器
运维
企业架构
特别专题企业架构
架构师(2015年1月)
本期内容推荐:解读2014之云计算篇:有一种态度
叫做“拥抱”(上);解读2014之iOS篇:拥抱变化;解读2014之Docker篇:才气、运气、勇气;SDN落地的实践与思考:带着问题找方案,别
管定义啦;Swift编程语言;手机淘宝构架演化实践;手机QQ的移动化实践之路;物联网传输协议MQTT;从信息安全看未来物联网发展;赵海峰:大数据
决定互联网金融未来。
浏览所有企业架构
企业架构
业务流程建模
业务/IT整合
Integration (EAI)
治理
Web 2.0
SOA
移动
Docker
Node.js
云计算
大数据
架构师
QCon
ArchSummit
AWS
Azure
Helion
全部话题
您目前处于:
InfoQ首页
文章
如何进行高效的Rails单元测试
如何进行高效的Rails单元测试
作者
李冠德
发布于
2011年6月18日
|
2
讨论
分享到:
微博
微信
Facebook
Twitter
有道云笔记
邮件分享
稍后阅读
我的阅读清单
在笔者开发的系统中,有大量的数据需要分析,不仅要求数据分析准确,而且对速度也有一定的要求的。没有写测试代码之前,笔者用几
个很大的方法来实现这种需求。结果可想而知,代码繁杂,维护困难,难于扩展。借业务调整的机会,笔者痛定思痛,决定从测试代码做起,并随着不断地学习和应
用,慢慢体会到测试代码的好处。
改变思路:能做到从需求到代码的过程转换,逐步细化;
简化代码:力图让每个方法都很小,只专注一件事;
优化代码:当测试代码写不出来,或者需要写很长的时候,说明代码是有问题的,是可以被分解的,需要进一步优化;
便于扩展:当扩展新业务或修改旧业务时,如果测试代码没有成功,则说明扩展和修改不成功;
时半功倍:貌似写测试代码很费时,实际在测试、部署和后续扩展中,测试代码将节省更多的时间。
环境搭建
笔者采用的测试环境是比较流行通用的框架:RSpec + Factory Girl,并用autotest自
动工具。RSpec是一种描述性语言,通过可行的例子描述系统行为,非常容易上手,测试用例非常容易理解。Factory
Girl可以很好的帮助构造测试数据,免去了自己写fixture的烦恼。Autotest能自动运行测试代码,随时检测测试代码的结果,并且有很多的插
件支持,可以让测试结果显示的很炫。
第一步 安装rspec和rspec-rails
在命令行中执行如下命令:
$ sudo gem install rspec v = 1.3.0
$ sudo gem install rspec-rails v = 1.3.2
安装完成后,进入rails应用所在的目录,运行如下脚本,生成spec测试框架:
$ script/generate rspec
exists lib/tasks
identical lib/tasks/rspec.rake
identical script/autospec
identical script/spec
exists spec
identical spec/rcov.opts
identical spec/spec.opts
identical spec/spec_helper.rb
第二步 安装factory-girl
在命令行中执行如下命令:
相关厂商内容
网络 FEX 创立者刘平传分享全端精英团队打造心得
阿里高级搜索专家分享开放搜索服务系统架构
知道创宇首席安全官黑哥分享黑客传奇
触控科技运维总监萧田国分享高效运维诀窍
肖德时:基于Docker容器的云计算平台搭建实战
相关赞助商
全球软件开发大会,4月23-25日,北京,敬请期待!
$ sudo gem install factory-girl
在config/environment/test.rb中,加入factory-girl这个gem:
config.gem "factory_girl"
在spec/目录下,增加一个factories.rb的文件,用于所有预先定义的model工厂。
第三步 安装autotest
在命令行中执行如下命令:
$ sudo gem install ZenTest
$ sudo gem install autotest-rails
然后设置与RSpec的集成,在rails应用的目录下,运行如下的命令,就可以显示测试用例的运行结果。
RSPEC=true autotest or autospec
在自己的home目录下,增加一个.autotest设置所有的Rails应用的autotest插件。当然,也可以把这个文件加到每个应用的根目录下,这个文件将覆盖home目录下的文件设置。autotest的插件很多,笔者用到如下的plugin:
$ sudo gem install autotest-growl
$ sudo gem install autotest-fsevent
$ sudo gem install redgreen
设置.autotest文件,在.autotest中,加入如下代码。
require 'autotest/growl'
require 'autotest/fsevent'
require 'redgreen/autotest'
Autotest.add_hook :initialize do |autotest|
%w{.git .svn .hg .DS_Store ._* vendor tmp log doc}.each do |exception|
autotest.add_exception(exception)
end
end
测试经验
安装了必要的程序库以后,就可以写测试代码了。本例中,所有应用都是在Rails
2.3.4上开发的,RSpec采用的是1.3.0的版本。为了很好的说明问题,我们假定这样的需求:判断一个用户在一个时间段内是否迟到。写测试代码时
都是遵循一个原则,只关心输入和输出,具体的实现并不在测试代码的考虑范围之内,是行为驱动开发。根据这个需求,我们将会设计方法absence_at(start_time,end_time),有两个输入值start_time和end_time以及一个输出值,类型是boolean。对应的测试代码如下:
describe "User absence or not ring [start_time,end_time]" do
before :each do
@user = Factory(:user)
end
it "should return false when user not absence " do
start_time = Time.utc(2010,11,9,12,0,0,0)
end_time = Time.utc(2010,11,9,12,30,0)
@user.absence_at(start_time,end_time).should be_false
end
it "should return true when user absence " do
start_time = Time.utc(2010,11,9,13,0,0,0)
end_time = Time.utc(2010,11,9,13,30,0)
@user.absence_at(start_time,end_time).should be_ture
end
end
测试代码已经完成。至于absence_at方法我们并不关心它的实现,只要这个方法的结果能让测试代码运行结果正确就可以。在此测试代码的基础上,就可以大胆地去完成代码,并根据测试代码的结果不断修改代码直到所有测试用例通过。
Stub的使用
写测试代码,最好首先从model开始。因为model的方法能很好与输入输出的原则吻合,容易上手。最初的时候,你会发现mock和stub很好
用,任何的对象都可以mock,并且在它的基础上可以stub一些方法,省去构造数据的麻烦,一度让笔者觉得测试代码是如此美丽,一步步的深入,才发现自
己陷入了stub的误区。还是引用上面的例子,我们的代码实现如下:
class User < ActiveRecord::Base
def absence_at(start_time,end_time)
return false if have_connection_or_review?(start_time,end_time)
return (login_absence_at?(start_time,end_time) ? true : false)
end
end
按照最初写测试代码的思路,本方法中存在三种情况,即需要三个用例,而且还调用了其他两个方法,需要对他们进行stub,于是就有了下面的测试代码。记得当时完成后还很兴奋,心中还想:这么写测试代码真有趣。
before(:each) do
@user = User.new
end
describe "method <absence_at(start_time,end_time)>" do
s = Time.now
e = s + 30.minutes
# example one
it "should be false when user have interaction or review" do
@user.stub!(:have_connection_or_review?).with(s,e).and_return(true)
@user.absence_at(s,e).should be_false
end
# example two
it "should be true when user has no interaction and he no waiting at platform" do
@user.stub!(:have_connection_or_review?).with(s,e).and_return(false)
@user.stub!(:login_absence_at?).with(s,e).and_return(true)
@user.absence_at(s,e).should be_true
end
# example three
it "should be false when user has no interaction and he waiting at platform" do
@user.stub!(:have_connection_or_review?).with(s,e).and_return(false)
@user.stub!(:login_absence_at?).with(s,e).and_return(false)
@user.absence_at(s,e).should be_false
end
end
上面的测试代码,是典型把代码的实现细节带到了测试代码中,完全是本末倒置的。当然这个测试代码运行的时候,结果都是正确的。那是因为用stub来假定所有的子方法都是对的,但是如果这个子方法have_connection_or_review?发生变化,它不返回boolean值,那么将会发生什么呢?这个测试代码依然正确,可怕吧!这都没有起到测试代码的作用。
另外,如果是这样,我们不仅要修改have_connection_or_review?的测试代码,而且还要修改absence_at的测试代码。这不是在增大代码维护量吗?
相比而言,不用stub的测试代码,不用修改,如果Factory的数据没有发生变化,那么测试代码的结果将是错误的,因为have_connection_or_review?没有通过测试,导致absence_at方法无法正常运行。
其实stub主要是mock一些本方法或者本应用中无法得到的对象,比如在tech_finish?方法中,调用了一个file_service来获得Record对象的所有文件,在本方法测试代码运行过程中,无法得到这个service,这时stub就起作用了:
class A < ActiveRecord::Base
has_many :records
def tech_finish?
self.records.each do |v_a|
return true if v_a.files.size == 5
end
return false
end
end
class Record < ActiveRecord::Base
belongs_to :a
has_files # here is a service in gem
end
所对应的测试代码如下:
describe "tech_finish?" do
it "should return true when A’s records have five files" do
record = Factory(:record)
app = Factory(:a,:records=>[record])
record.stub!(:files).and_return([1,2,3,4,5])
app.tech_finish?.should == true
end
it "should return false when A’s records have less five files" do
record = Factory(:record)
app = Factory(:a,:records=>[record])
record.stub!(:files).and_return([1,2,3,5])
app.tech_finish?.should == false
end
end
Factory的使用
有了这个工厂,可以很方便的构造不同的模拟数据来运行测试代码。还是上面的例子,如果要测试absence_at方法,涉及到多个model:
HistoryRecord:User的上课记录
Calendar:User的课程表
Logging:User的日志信息
如果不用factory-girl构造测试数据,我们将不得不在fixture构造这些测试数据。在fixture构造的数据无法指定是那个测试用例使用,但是如果用Factory的话,可以为这个方法专门指定一组测试数据。
Factory.define :user_absence_example,:class => User do |user|
user.login "test"
class << user
def default_history_records
[Factory.build(:history_record,:started_at=>Time.now),
Factory.build(:history_record,:started_at=>Time.now)]
end
def default_calendars
[Factory.build(:calendar),
Factory.build(:calendar)]
end
def default_loggings
[Factory.build(:logging,:started_at=>1.days.ago),
Factory.build(:logging,:started_at=>1.days.ago)]
end
end
user.history_records {default_history_records}
user.calendars {default_calendars}
user.loggings {default_loggings}
end
④ 学习测试开发,有没有用能学到什么东西吗
软件测试的门槛相对来说还是比较低的,比起Java、PHP等这些后端开发来说,软件测试需要的代码量少,同时软件测试也是IT技术上手比较容易的,学习难度低。
软件测试前景怎么样,回答是前景很好。软件测试人才缺口大,国内测试人才缺口达到30万之多,且仍在逐年递增,薪资待遇好,一般刚培训出来的软件测试工程师起步薪资都在8千左右,优秀学员年薪达到二十万的都有,发展方向广,软件测试基本各行各业都需要,尤其是IT互联网行业、金融等很吃香的行业。
随着软件行业的日渐成熟,用户体验感、软件安全性越来越受到社会的关注,各大企业对软件测试的重视度都有了明显的抬升。从招聘需求来看,软件测试岗位的招聘量处于明显上升态势,从薪资水平来看,软件测试人员的待遇也是一增再增。
据统计,目前软件测试人才的缺口在30万人以上,IT行业国内外巨头正在加紧争夺软件测试人才,华为曾一次抛出50名软件测试人员的招聘大单,联想、用友、瑞星等企业也纷纷打出高薪招聘软件测试人才的启事。
软件测试人才的需求量还会越来越大
学习什么内容:
一、软件测试的原理
v 软件工程:软件的含义、软件开发过程的特性 、软件生命周期模型、软件管理过程软件质量和质量保证:软件质量就是客户的满意度 、质量的概念、软件质量的内涵、质量管理体系、SQA、SCM、SEPG
v软件测试概念:软件危机、软件测试产生的背景,软件缺陷是什么、软件测试职业发展,软件测试人员应具备的素质和技能、软件测试基本概念、软件测试的目的、软件测试的重要性、软件测试的原则、软件开发与软件测试
v软件测试依据和规范:软件质量标准、软件测试规范、界面规范、编码规范、CMM和ISO9001思想结构体系、CMM VS ISO
二、软件测试的技术
v软件测试技术概述:软件测试的基该方法,黑盒测试、白盒测试、静态测试、动态测试、测试策略
v软件测试流程:软件测试流程、通用测试文档模板 、软件测试的分类、软件包的质量特性
v 单元测试和集成测试:什么是单元测试、单元测试的目标和任务、单元测试方法、调试与评估、什么是集成测试、集成测试目标和任务、集成测试的模式与方法
v 系统测试和验收测试:什么是系统测试,系统测试的目标和任务,系统测试方法,系统测试中工具的应用、什么是验收测试、验收测试的目标、验收测试的过程和主要内容、产品规格说明书的验证
v 特定类型的软件测试:面向对象软件的测试、面向对象软件的特点、面向对象测试的层次与数据流、面向对象的单元测试、面向对象的集成测试 、基于应用服务器的测试、应用服务器的分类和特征、基于Web服务器应用的测试、基于数据库应用服务器的测试、基于J2EE平台的测试、软件本地化测试:什么是软件本地化、软件本地化的翻译问题、软件本地化测试的技术问题、本地化测试的重点
三、软件测试的实践
v测试环境的部署:测试环境的重要性、测试环境的各要素、建立测试实验室、测试环境的维护和管理
v软件测试用例的设计:测试用例来源、测试需求提取、测试用例设计、白盒测试用例设计方法、逻辑覆盖法/基本路径测试法 、黑盒测试用例设计方法、等价类划分法/边界值分析法/因果图法/错误推测法 /功能图法、测试用例的组织和跟踪、使用实际项目实践
v 报告所发现的软件缺陷:软件缺陷的描述 、软件缺陷相关的信息、软件缺陷的处理和跟踪
四、软件测试管理
v 组织和管理测试团队:基于ISO的测试管理体系构成、测试团队的地位和责任、测试团队的构成 、测试团队的管理和发展
五、软件测试人员面临的机会和挑战
v软件测试职位在IT行业的现状
v软件测试职位到底是干什么?
v软件测试行业的背景
v软件测试人员需要具备的基本素质
v软件测试工程师需掌握的技术技能大纲
v软件测试人员后期的发展机会和挑战
⑤ 智慧树互联网金融单元测试答案
第四章的答案
⑥ 互联网金融平台开发技术架构到底是怎样的
有的平台采用外包或购买技术平台,没有能力去进行系统的研发和升级,面临着极高的风险。因为系统来自外部,代码完全失控;企业自身也没有安全评估能力,没有专职人员制定安全方案,安全风险极高!
而且因为没有开发能力,当市场发生剧烈变化时候,技术平台无法快速适应市场变化;哪怕对系统功能做简单的修改,也要联系外包团队修改系统,需要跨公司沟通、讨价还价,而且外包团队常常也无法正确理解业务需求,效率低下,反应极慢!!
有些靠谱的优秀理财平台,很快意识到在IT技术实力是互联网金融的核心竞争力之一。有意识的逐渐加强技术力量,建立专业互联网技术团队。这样的技术团队自主开发系统,代码完全在本企业的控制之下;并有专业队伍不断跟踪最新安全动态,制定完善的安全方案,安全风险可控制;同时也能够对系统进行持续研发和精心规划下的升级改造,从而更好的适应市场变化,服务平台内部和外部的用户。
因此面临行业机遇期的融资理财平台,应该建立起自己的技术团队,打造专业化的互联网技术能力。
现在是移动互联网时代,普通用户可以通过多种客户端进行投资理财。有实力成规模的融资理财平台的技术开发,除了需要开发传统的PC版投资网站,还需要开发移动平台,包括:IOS版与安卓版APP、微信端、手机版WAP网站等面向普通理财者的投资平台;为了提高风险控制能力,提高工作效率,应该要将风控能力系统化、程序化,不断实现与各种数据对接,包括第三方征信数据接入工作也要不断推进。
为了更好的承载各项业务发展,在具体技术架构方面,服务端技术应该采用业界先进的开发框架,比如选定的开发框架应该采用选定的架构下,应该能够很方便的扩展,使用、再开发或再发布扩展;要尽量采用了大量久经考验,开箱即用的技术特性,从而大大提高技术开发效率;团队应该始终对开发趋势和其他框架和其他项目中最佳实践保持密切关注,随时准备引入先进的各种技术手段。
针对移动端技术架构,基于同一工程分层,界面处理及业务逻辑分开处理,实现高内聚,低耦合的设计目的;网络层采用成熟稳定的技术方案,通过数据压缩、加密,提升网络连接的高效性及安全性;界面层采用自动适应策略,实现一套方案,多机型适配,节省开发成本,增强项目可维护性。
另外,作为一家互联网金融企业,技术团队要始终把安全放在第一位,竭尽全力保障投资人的资金安全与信息安全。参照国家信息系统安全等级保护的要求 ,制定综合的安全治理措施,主要应该包括3个方面:
1. 基础技术设施安全建设
采用企业级防火墙
HTTPS数据传输加密
分布式数据存储与备份
抗DDOS服务
跟踪最新漏洞,及时系统升级
2. 提高代码的安全性
制定代码规范和各种开发规范,确保开发人员能够写出安全的代码
开发代码扫描工具,扫描代码
代码审查,代码交叉审核
单元测试与自动化测试
3. 建立监控与反馈系统
1. 及时发现潜在的问题,化被动为主动;
2. 为可能发现的问题,制定应急预案;
3. 监控重点敏感数据与功能,发现异常及时进行阻断和报警;
最后,技术团队要为整个技术平台,制定出长期的改善目标,比如应该包括:
1. 持续改善系统架构,更好地支持业务扩展
2. 降低系统耦合,提升对变化的响应速度
3. 建立更完整 的公共平台、基础框架、基础类库,提高开发效率
4. 合理地增加或减少系统间交互,提升系统性能、稳定性
5. 完善配置、监控、预警、日志系统,提升系统运维效率及发现问题的速度
互联网金融趋势刚兴起不久,各种业务还在持续快速发展变化。技术架构的改进也没有止境,高达软件作为18年软件服务商未来的路还很长,系统功能需要不断丰富,各项工作还需要改进。只有始终深耕互联网金融技术领域,不断满足用户的期望,全力打造一个值得信赖的融资理财平台,才能与信赖我们的客户一起实现更多更大的梦想!
⑦ 怎样开始入门学习软件测试
来源:知乎
风景
生命就是在不断的学习
65 人赞同了该回答
如今测试行业是国内新兴起的一个行业,但是,这个行业已经在国内存在有好多年了,只不过是现在越来越多的公司都想提高自身产品的质量,才有测试行业大幅兴起的景象。我是从事了3年多的测试工作,也带过很多新人,总结下来学习软件测试要先看几个方面你能达到多高的指标。
第一:你的基础
1)电脑操作和主流软件使用的基本能力;
2)对编程语言是否接触过,是什么程度;
3)软件测试的理论知识;
4)学习能力;
5)解决问题的能力;
其实在工作当中远不止这些,你还要有优秀的沟通和协调能力,有很多时候需要与其他部门的同事和领导确认各种信息,一遍又一遍的确认,这里有很多情况需要处理。
在此,我还想给几点建议:
1、如果你的自学能力较弱,就找个培训机构学习,我们公司比较喜欢用培训机构出来的人。
2、如果你自学能力强就找些专业教材,结合网上的资料来学习,尤其是www.besttest.cn软件测试自学与分享平台的资料很全,还有QQ群交流可以相互提升学习的动力。但是需要你有坚持的毅力。
3、测试分为几个方向除功能测试外,还有性能测试、手机测试、安全测试、自动化测试等几大方向,选择一个离你最近的,但是基本都要先学会功能测试才能拓展其他的方向。
4、如果有开发功底或至少一门开发语言的功底如JAVA,C,VB,PHP都可以帮你在测试行业有更高的发展,获得更好的收入。
发布于 2013-12-09
笑笑爱笑smile
银行业务方向
27 人赞同了该回答
2015年股市很火爆,互联网金融揭竿而起,软件测试与开发也受到众多想跨行业工作者的喜爱,众所周知,软件行业工资高于平均薪资水平。最近有朋友和网友向我咨询软件测试的事情,大意是:小白如何入门软件测试行业,且听我说。
我从事软件测试行业整整5年,先说点我的测试经历,让大家对软件测试有些认识,其次说说小白如何跨行从事软件测试,最后推荐些软件测试方面的书。
NO.1我的软件测试经验
作为一枚女汉子,大学学计算机科学与技术专业也是十分痛苦的,刚入学就学习C++,老师口中各种鸟语,听不懂啊毕业找工作肿么办,就这么糊里糊涂的学了3年的计算机语言c++、java、c#、oracle数据库、linux操作系统,时刻担心毕业=失业。
害怕大四找不到工作,我在大三暑假就开始准备实习,留意教务处发布的各公司实习岗位;刚好A公司来校宣传找实习生,A公司主要做银行系统,招测试与开发,听说测试门槛低,逻辑思维有条理、能看懂代码就可以。第二天直接去参观公司并且报名考试(2011年各种城镇银行成立,公司大量缺人手,招聘了大量物美价廉的学生),下午公司打电话说我通过了,明天开始实习培训。
由于态度积极主动(面试人员之后说的),实习了几天就进入了项目组实习--银行系统;从实习到转正一路走来累啊,学校学习的只是很基础的知识,工作中远远不够。
城镇银行--麻雀虽小五脏俱全,学习了业务:存款、贷款、卡、大小额支付、票据、中间业务、网银、信用卡等;工作中需要搞配置库svn、缺陷管理工具qc、部署版本、操作数据库、linux系统命令、重现生产bug等。
当时这个公司开发人员很忙,测试人员测试出bug,首先得自己对照需求,看日志定位,然后找开发解决。非常感谢当时的师傅领我入门。
别人的大四在宿舍睡觉、看电视剧、打游戏,而我每天7点起床倒2趟公交车去实习,现在想想当时真的很拼,每天累的焦头烂额,一脸痘,但是很值。
由于在这个公司学到很多技能,2013年通过了北京一家大行的面试(大行--人员外包),区别与项目外包,一会给大家解释)。大行工作内容如下:
评审文档:大行文档超级多很细,比如:需求说明文档、设计说明书、组建设计说明书、动不动就上千页。刚开始评审各种文档,其实就是找某些功能描述模糊不清或多种描述的,然后整理成excel和需求人员确认。
web界面测试:类似与银行的网银系统,点击系统,如有报错直接丢给开发,测试人员只需要描述错误即可。看不到数据库、看不到后台、看不到报错日志,每天汇总案例执行个数和bug测试情况,天天整理一堆excel文档,时间久了会感觉自己像机器人,没有激情。
很多时候在大行恨不得一份工作5个人来干,每天很闲,姐姐还很年轻好不好,需要工作带来的成就感,想看代码、想了解单元测试、性能测试、linux、数据库,身边的同事各种跳槽(人员外包没出息啊,随时换工作地点、不让玩手机、不让干这不让干那、跳槽加薪啊)憋屈,姐下决心辞职不干了---ByeBye‘A’公司。
2014年5月换到了B公司,项目外包--理财系统,公司有自己的产品(理财、基金、支付、P2P)项目经理很nice、主管也很nice;理财之前没有一点基础,从头学起(和比我早到1月的实施美女共同学习,成长蛮快的),也和业务人员经常打交道,学到很多。
第一次用loadrunner做性能测试加班到凌晨2点,这是平身第一次啊,实体环境中调通了脚本并且跑起来了,明白了性能测试场景设计、TPS、通过事务数、最大并发用户数等,了解了性能瓶颈如:查询耗时、实时写日志、缺少索引、硬盘等;最近在配合各个渠道做测试,理财处于中间系统,接一堆外围渠道,宝宝心里苦。
我的测试经历讲完了,想必大家已经了解了从事软件测试需要的一些基本技能。
NO.2软件测试人员的工作地点
以我现在的公司为例,公司分为产品部、实施部、测试部等;
产品部人员一般在自己家公司工作,有时候会出差到现场去解决问题,自己家公司环境好、自由,公司有微波炉、下午茶、水果等。
实施部人员一般在客户现场做实施(公司把理财产品卖给客户,需要实施维护),现场工作的宗旨是:客户虐我千百遍,我待客户如初恋。客户会不定期有个性需求,实施人员维护。环境一般般,在现场就会有银行的人管着。
测试部:有的在公司做产品测试、有的在客户现场做测试,比如我在客户现场,科技部人都还不错,相处蛮愉快的。
软件测试工作性质分3种:
1、找个非外包公司,公司自己给自己做项目,比如链家app等,人员很和谐,在自己家公司做项目很幸福。
2、进入大点的公司,做项目外包,项目外包对测试人员较严格,功能测试、性能测试都得会,人员比例:10个开发1个测试。
3、刚培训完人员外包,有些公司专卖人员,某些银行给价2.5万每人月,公司横竖都是赚。缺点:人员管理松散,找不到组织。
NO.3软件测试入门
如果你身处北上深,想跨行做软件测试,前途还是很光明的,这些城市需求多,提升很快,尤其是越来越多的创业公司,找工作不难。
如果你身处某些二线城市,尤其是平均工资较低的情况,不建议转行做软件测试,大家转行是为了挣钱,除非你学习后想去北上深发展或是特别爱好。
1、如果你的亲人在做软件测试,这是个特别好的资源,买本软件测试的书籍,让他教你;他个人电脑里会有他公司的资料需求、设计文档、测试案例、被测系统、数据库等,利用周末时间在家教,先看需求了解业务--找出测试点-写案例,然后自己跑系统。之后教数据库的增删改查语句以及一些简单的linux操作命令。
我同事利用周末时间已经把他弟弟、他女朋友都培训成了软件测试人员,现在工资相当不菲。
2、培训班
众所周知,培训班费用很高,如果你学过c语言,了解软件开发与测试流程,就自己买本书多看,网上关于软件测试的资源很多,多看,多投简历,必定会找到份工作。
如果你是其他专业毕业,对计算机软件一点都不了解,那就可以考虑报培训班学习,至于报哪个班,大家上网自行搜索,最好去知乎找答案,满满的都是干货。
3、工作态度:
跨行业进入软件测试,隔行如隔山,想必大家都会珍惜这份来之不易的工作,首先端正态度入职新人都会有老员工带着,一般公司都有配置库,里面有各种文档,测试案例、测试bug文档等;
多看测试文档、你的师傅加班时你就在旁边看着帮助他干点零碎活,很快熟络之后工作中遇到问题也会积极帮助你,不懂就要问,多问多思考,最好和他要套测试环境,自己跑案例,遇到问题多记录。微软的OneNote很好用,记录问题可以分各个页签。
NO.4测试流程
1、需求分析
需求分析是软件工程中的一个关键过程,只有吃透需求,后续工作才能得以开展。每次有新需求要求参与讨论,否则后期测试各种疑问(测试人员和开发人员思考问题角度不同),讨论时记录关键点,整理在OneNote里,以便日后查看。
2、写测试案例
如:地铁里的自动贩卖机,提炼测试点,然后写测试案例;
有效的等价类有:
金额正好,顺利出货
金额超出,找零出货
金额不足,提示,并吐出货币
金额足够,取消交易
假币,吐出
无效等价类:
放入金额,不出货,不找零
放入金额,不出货,退钱
金额超出,出货,不找零
金额超出,不出货,找零
金额不足,出货,找零
金额不足,出货,不找零
金额不足,不出货,不退钱
金额正好,不出货,退钱
金额正好,出货,找零
金额正好,不出货,找零
不投金额,直接出货
测试案例设计有很多种方法,大家可以看书学习。
3、执行测试案例
把2的测试点,完全形成文档,在测试环境执行每条案例。
4、测试bug追踪
测试过程中难免会出现bug,如果有bug先自己对照着需求自查,看日志,确认无误,找开发人员看代码,记录测出的bug,实时更新bug状态;
5、写测试报告
主要写测试背景、测试目标、测试案例覆盖率、测试周期、测试bug修复率等。
NO.5测试书籍
《软件测试 原书第二版》老外写的,佩螣译,机械工业出版社 ,实习时培训老师介绍的,众多测试书中最好的一本入门书,此书浅显易懂,很全面的讲解 ,适合软件测试入门的同学学习,我也会经常翻阅。
《软件性能测试过程详解与案例剖析(第2版)》段念,清华大学出版社,想学性能测试,然后网络搜索的答案,买了这本书,真的很不错;银行业务数据量大所以需要压力,第一次做看的这本书,加班到凌晨2点,终于成功了,内容丰富,有大量的案例供大家参考,每次做性能测试,都会看,每次都有不同的收获。
《Google软件测试之道》老外写的,人民邮电出版社,未来是软件测试开发工程师(SET)的天下,抓紧时间学点开发知识。
《探索式软件测试》老外写的,清华大学出版社,如果你抱着未来手工测试人员会消失,不妨看看这本探索式测试。
题外:虽然软件测试人员有时会被开发人员鄙视,但是没有测试过的程序他敢上生产?bug一堆一堆的,做测试很好,未来测试会越来越被重视的!!!欢迎大家围观
⑧ 年薪40万的java程序员技术有多强
你不如去招聘网站上搜一下,招聘年薪40万Java高级工程师都需要哪些资格。
以下是来自智联招聘,招聘,java高级工程师,月薪2万-3.5万
年薪40万应该都是项目组长级别的。
负责云端新项目设计、研发,技术选型、架构优化、问题攻关等
任职资格:
1、计算机软件及相关专业,有互联网、金融行业项目背景者优先;
2、有5年以上Java服务端开发经验及系统分析、设计经验;
3、能独立完成项目经理分配的研发任务,有独立主持过5人以上规模研发项目者优先;
4、熟悉Spring体系(Spring Mvc、Spring Boot、Spring Cloud)、MyBatis等开源框架,kafka、redis等中间件,有使用SpringCloud开发、在Github上有开源项目者优先;
5、熟练使用MySQL数据库,有数据库设计经验,可针对业务特点优化数据库性能,有NOSQL经验者优先;
6、对Java的并发、IO、socket等有深入的理解以及实际开发经验,了解高并发下的架构设计和高负载Web应用的关键技术,如容灾备份、负载均衡、集群、横向及纵向扩展;
7、熟悉设计模式、代码重构、JVM性能优化者优先;
8、熟悉Maven、SVN或Git、jekins等持续集成工具;
9、有良好的代码编写、单元测试、注释以及文档的习惯;
10、思维敏捷,具有良好的逻辑分析及问题解决能力,较强责任心、工作积极性以及团队协作能力。
⑨ 从负债累累到身家千万,他如何一路走来
文中略有改动,原文欢迎查看蔡世友个人博客:http://blog.csdn.net/easyjf/article/month/2016/05
80年代初,我出生在贵州一个靠天吃饭的贫困山村。在我六岁以前,村里还没有通电,在没有月亮的晚上,到处都是黑乎乎的一片,如果需要光只能点煤油灯,因为蜡烛在那时候都是奢侈品。那时基本没有什么娱乐节目,过了农忙季节村民没事做一般都会早早回家睡觉,这也导致了超生现象严重,每家每户基本都有5个以上的儿女。我们家本来有七个兄弟姐妹,可惜夭折了两个。
而我是家里的老大,这个身份也注定了我在这个家非同一般的使命。
童年
童年从5岁开始记事,那时候对钱基本没什么概念,对于我来说最大的满足莫过于走上十几里路,到镇外的集市上,买一碗牛肉汤锅粉吃。如果某天有卖冰棍的人来村里,能拿出5分钱买一根冰棍,简直是人生最大的享受。
在91年之前,我在村里面读了5年的小学。村里的小学下午3点就放学,放学后主要是帮家里干农活比如砍材、割草、放牛等,一直要做到晚上八点,学校里面的老师也需要下田地去干活,因为光靠教书的收入是养不活整个家庭的。
每年都会放两次农忙假,春天一次,秋天一次,每次农忙放假都是都是半个月以上,可能现在的学生会非常的羡慕我们,可是那时候的我却不喜欢放假,因为一放假就要去帮助父母干体力活,真的非常累。
到91年的时候,作为村委书记的伯伯要把我堂哥安排到县城里面读初中。我爸知道这个消息后,第一时间去找这位伯伯让他帮忙想办法一定把我也捎上。后来在表伯的帮助下,我成功插班到县里面的一小读五年级,成了村里面少数能在县城读小学的孩子,当时农村小学的教学水平和条件是远远不及县城小学的,从这一点来看,我爸当时是非常有胆识及远见的。因为这一决定也为我以后的学习奠定了扎实的基础,这位做官的表伯,毫无疑问对我往后的人生走向,提供了重要的帮助。
(蔡世友老家的房子)
到城里面插班,第一个月的月考我就考了倒数第一名,我到现在还记得当时语文只考了56分,连及格都很困难,严重拖了整个班的后腿,班主任正好又是语文老师,她找我谈话,表示如果下次再考这样就直接退学回农村去。那时父母不断灌输的观念就是,好好读书,努力读书,只有读书才是唯一的出路,把书读好了才能脱离农村,跳出农门,才能养家。一方面我作为家里的老大,考虑到父母为了我到县城读书所付出的心血,另一方面怕真的滚回农村后肯定要被狠狠的打一顿,而我确实也不想长大后又回农村继续干活,
于是只有一条路可选,那就是把书读好。
人一但对某件事认真专注以后,就会产生意想不到的效果。别人读书的时候我读书,别人玩的时候我看书,煮饭的时候在看书,走路的时候在看书,就连睡觉做梦的时候都在看书解题。第二个月单元测试,终于越过了及格线!这不禁让我松了口气。经过一年的努力,最后奇迹般的进入了学校前5名,而且顺利考上了当时县城最好的中学。这让我从小就明白了,不管你基础怎么样,只要肯定努力就一定会有回报!
县城里读书除了学杂费比较高以外,非县城户口还有借读费、课外书、单元练习册等各种资料费,加起来是农村的10多倍,而且生活费也增加了很多。为了支付这些费用,家里每年需要砍一两棵大松树或者春树去卖,父亲则会在农闲时去县城摆地摊卖一些草药。为了省钱,吃的粮食及蔬菜基本上都从家里背进城,每个星期要回一次家!县城到家里面有几十里路,车费大概是5毛钱的样子,这对当时的我来说是不小的数目,所以为了省下这笔费用有时候我不得不步行上学。
求学
93年上初中后学费又大大增加,父母逐渐感受到要供一个孩子在城里读书的巨大压力。好在靠全家人的省吃俭用,靠父母的努力,我也顺利的初中毕业了,那时候家里面还没有什么债务。初3时由于我的成绩比较突出,老师们根据我的家庭情况,建议我考当时比较热门中专,这样可以省去读高中的三年,早点出来工作,可以节省一大笔钱。虽然我自己非常渴望读高中上大学,但是迫于自身的家庭实际情况,我选择了中专,考上了四川邮电学校。
川邮是当时比较热门的学校,每年的学费好像就要2000多元。记得刚拿到录取通知书的那一刻,看到里面的学费说明时,父母脸上的笑容才逗留几秒就消失了。除了学费,还有跨省的车费,伙食费及其它各种费用,算下来一年要6000多元,这对于当时我们家来说是一个非常庞大的数字。
在农村,家庭能有积蓄的非常少,我又在城里读了5年书,家里面肯定没有这么多钱,只有去找亲戚借了。印象最深的一次是父母去找姑姑家借钱,当时那一年刚好她们家的桃子丰收,卖了有2000来块钱。父母希望他们能借1000来块钱帮忙解决一下我的学费问题,姑姑非常地为难,说虽然桃子是卖了一些钱,但还有各种用途安排,没办法借这么多,最多只能借300元。对于父亲来说姑姑是他最亲的亲人,竟然也借不到,非常难过;对于姑姑来说也很委屈,因为这些钱实在是有其他的很重要的用途,父母还赌气说算了,以后再也不相往来。。。。。当时父母和姑姑都哭了,这事儿,20多年过去,当时的场景我至今还记得,借钱真的是一件很伤人的事。
(求学期间家中的劳动力)
后来,父母又想尽各种办法,把家里面粮仓的存粮、养到半大的猪仔、还有好几只大公鸡以及一些还勉强值钱的树等都给卖了,费了九牛二虎之牛,终于凑齐了5000来块钱,总算够了我第一年的学费及生活费。在我读中专几年的日子里,全家人省吃俭用,除了最小的妹妹以外,另外两个稍大的弟弟及妹妹也都成了家里面的主要劳动力,父母发动大家干农活的理由也只有一个,供大哥读书。当我毕业时,家里能值钱的基本都卖了,包括对于农民家庭来说最关键的耕牛也含泪给卖了,还欠了亲戚朋友以及信用社好几千元。可以说全家人在这4年来可谓是使足了劲,把我供毕业,希望看到我分配工作,看到我拿工资,变成城里人,吃公家饭,并憧憬着未来有一个家庭成员是城里人会是什么样子,当然父母也期望我能做出榜样,为家庭带来改变。
毕业之初
2000年6月,19岁的我终于从川邮毕业了
毕业后我被分配到了市里的邮局工作,一来因为家里急需用钱,二来由于我对邮局工作实在不感兴趣,所以刚到单位没多久我就辞掉了这份大家看来是铁饭碗的工作。回到成都,加入了一个互联网创业团队,从此开始了我的IT技术生涯。
我工作开始第一个月工资是1200元,当时远比分到邮电部门的同班同学高。由于我比较努力,做事效率很高,除了能写程序,还能搞一些策划,深得老板赏识,很快就升为经理,过了两三个月工资就翻倍达到了2500元!每个月除掉个人的必要开支,房租吃饭等,余下的钱我全部都寄给了家里。我所加入的创业团队做的是中国总经理网,跟老板培哥创业的过程让我学习、见识、领悟到了很多的东西,尤其是在做网站的过程中,搜集整理了国内外著名CEO的档案、故事、经历等等,受这些人物故事的影响,也开始梦想未来的某一天能成为一名CEO。
06年的时候我跳槽到了一家大型集团下的软件公司做开发主管,因为对开源技术的强烈爱好,我在网上发起组建了EasyJF开源团队,致力于Java领域的简易框架开发,有几十位来自全国各地的开源技术爱好者加入,我们做了一个开源项目叫EasyJWeb,致力于简化基于Java平台的Web应用开发,这是一个基于互联网远程管理协作的团队。到07年下半年,团队开始获得业内一些商业公司的认可,有了一些商业项目开发单子,一部分团队成员从网上走到网下,一起去承接了一些远程教育及电子商务网络平台项目外包开发。当时条件非常艰苦,整个团队在北京住着简陋的房子,没日没夜地干着。最后算下来把住房及生活成本除外后,每个人分到的钱相当于在公司上班领工资。
(05年春节带上孩子齐聚老家)
不过那时候我的月收入也达到了每月4500元,不到半年的时间里,我就把我读书期间家里欠的钱全部还清了。不过那个时候,弟弟妹妹分别都到了城里读书,所以那个时候我除了买书吃饭等必要花费,其他的钱依然全部寄回家,帮助父母改善家庭生活面貌,供弟妹上学等。经过几年的努力,家里有了一点存款,于是决定在县城买地建房,父亲算了一下,修改房子大部分建筑活都是自己或亲朋来帮忙做,买地及修房子等合计要花6万左右,家里又找信用社周转了一点,不到一年的时候,家里面就在县城里有了自己的房子,基本上实现了在城市里生活的梦想。房子修了两层,在马路边,一楼作为铺面租给别人,每年会有几千块的房租,全家人就挤着住在二层。
那时候,每一个月工资到手后第一时间就会给父母及弟妹寄钱,我手中很少有多余的钱,有时候遇到换工作或者公司不能按时发不起工资时,自己手边紧急偶尔会找同学朋友临时周转借钱给在城市里面的弟妹付学费及生活费。印象最为深刻的是,在04年左右找一位邮校的师弟借了5000元,给大妹支付学费,后来手上有余钱的时候都准备还,这位兄弟说不急不急,于是就把钱用作其它用途了。后面越拖越久,又离开了成都,一直又很少联系,搞得我都不好意思主动提这个借款了。直到15年回成都创业,与这位兄弟见了一面,才把这个欠的钱给还上,我坚持给他按年化10%算利息,还了15000多元,才略减愧意。
创业之路
08年后,我家里除了小妹外的其它弟妹都已经大专或中专毕业进入社会工作,我终于可以不用再把全部收入用于养家,终于可以给自己留下一些钱,同时也不再受每月必须有固定收入的束缚,可以去做一些自己想做的事情了,于是在08年5月,27岁的我开始了人生的第一次完全由我主导的真正的创业!
2008年5月8号,我在成都组建我的第一个创业公司,成都蓝源信息技术,专门从事软件开发、SaaS服务、项目外包、企业技术内训等业务。有7位EasyJF开源团队成员,成为了我第一次创业的伙伴。初创团队加上我8个人,来自7个不同省份,典型的一个网上走到网下,网友组成的团队。这个团队的特点是,清一色的技术,有的还算得是业内顶尖的,有安全专家、有架构专家、有专业运维、有前端、有后台。我们当时认为我们的技术很好,所以比别的团队干起事来就高效,质量好,还价格便宜,我们坚信技术能改变世界!
可是现实是残酷的,我们缺市场、缺销售、缺品牌、缺服务、除了技术不缺,其它什么都缺。要么是接不到业务一些人整天没事做,要么就是低价接项目最后做赔本买卖,还有接了业务完成项目又收不到款。一个团队光有兴趣或者梦想不行,必须解决吃饭问题。前面介绍的安全专家是大西北人,一顿要吃好多米饭或馒头。除去房租以后基本上连饭都吃不饱。每周加一两次餐小炒什么的只好刷信用卡,后来搞得整天被信用卡客服追债。
面对地震都没有撤的创业伙伴们,却因为吃饭的问题逼着撤离,在一两年的时间里,陆陆续续离开了4位,最初核心团队走了一半。其中1位去了北京一家大型外包公司做项目经理,1位去了平安后面到普元,1位去了阿里,还有1个为了赚钱去深圳在ebay开店向全世界的网友卖内容丰富的光碟。
2010年5月,留下来的4位,加上前两年间新加入的伙伴,团队仍然有10来人。团队加入了服务,实施,营销等非技术人员组合,脚踏实地,不谈梦想,以只求活下来为原则,继续摸索。从08年5月到11年5月这三年的时间里,跟很多的初次创业者一样,我们不断的进行着各种试错,团队不断地磨合,为了生存及梦想,大家经常争吵,争得面红耳赤。我个人每个月拿到手的只有2000多块钱的生活费,为了解决公司员工发工资的问题,经常还要到处找朋友借钱周转,从这期间偶尔还伸手从家里拿了一些钱,委托父亲从农村信用社贷款,找同学从民间借贷领域借款等等,三年下来,背了十多万的债。
2011年,我们砍掉了蓝源的很多业务,只保留两三个我们觉得可以赚钱的业务项目,作好相关安排后,我把公司日常管理交给另外的创业伙伴,只身一人前往广州,正式全身心开始专注于IT教育培训行业的创业。
(IT培训创业期间,高校讲述程序员生涯故事)
至于2011年被我扔在成都的创业团队,在经过了极度困难时期仍然能保留下来的创业伙伴,就好比经历长征留下来部队,经验及战斗力其实是非常强的,这样的团队一但有一个合适的机会,就能获得成长及爆发。在2011年保留下来的几项业务中,后面都得到了一定的发展,并为公司创造了不错的价值,其中最好的是IT教育培训。公司从成立开始就一直在做高端IT技术培训业务,主要企业培训这一块,在2009年开始进入针对个人的IT就业技能培训领域,虽然前两年做得不好,但大家对其发展前景给予了充分的肯定。于是在2011年成立专门的公司,把大多数资源及优秀人才都投入到了教育培训这一块,研发课程,改进服务,全身心教会学员专业知识,提高他们实实在在的本领。经过大家不断的努力,随着一批一批的学员进入市场并获得企业的认可,随着就业薪资的不断攀升,口碑的力量慢慢的发挥出来,这个团队在IT教育培训市场取得一年比一年好的成绩,招生人数一年比一年多,如今已成为了西南地区高端IT教育培训领域比较有竞争力影响力的机构。
成家立业
一起创业的这一波人,随着企业的成长,大家都已实现买房买车的梦想,大多数都已成家生小孩,如今基本也都实现或者即将实现财务自由。
至于我,2009年弟弟结婚,2010年我结婚,2011年大妹结婚,2015年二妹结婚,2015年小妹大学毕业留在北京工作,20年前在纳建村上那忙玩泥巴割猪草的小屁孩们,如今都跳出了农门,进入城市打拼。每隔一两年春节,凑巧的话大家能聚到一起回家过年,这时对我们来说最激动人心的事就是,选一天全家一起回一趟农村老家去,看看那里的泥土与山水,看看仍然在农村生活的长辈们。
经过十几年的努力,钱早已不是困扰我生活的主要原因,也让我明白学习真的是改变自己人生最好的投资。在一个偶然的机会,让我突然明白一个道理:这个世界穷人与富人最大的区别,就是穷人永远都只知道挣钱,而富人不仅懂得挣钱,而且还会赚钱。挣钱与赚钱,看起来一字之差,意思相近,但仔细思考一下,差别很大。“挣”字的左边是提手傍,也就是要靠自己的双手,右边是“争”,表示要努力争取,简单来说,就是靠自己的双手去努力争取,然后换来钱;而“赚”字的左边是“贝”,古代“贝”是货币,也就是钱的意思,右边“兼”表示同时涉及、顺带、不会花费主要精力,比如兼职等,简单来说“赚”的意思就是让钱能产生钱。回顾2000年工作开始到现在这16年里,除了拼命努力工作,对如何投资赚钱,也是深有体会。
(蔡世友一家)
所以2015年回到成都,我不仅创立了一家互联网金融公司鸿学金信,更是参加了非常系统的金融知识培训,而且也会一直坚持下去。结合自己的经历以及奋斗历程,我从来没有认为一个努力为梦想拼搏的人需要为钱而担忧。 未来我重点的研究事业之一,就是通过投资每年赚到50万以上 ,这样即使提前退休不挣钱,也能让家人拥有一个相对充裕的物质生活。生命是一场旅行,我期待未来能有更多的时间陪家人,与家人一起感受生命中更多的精彩。
从一穷二白,到带领全家人走向小康,从负债累累到身价千万,我一步步走过来用了16年,我希望能用自己的切身体会和知识体系,来帮助更多的青年人少走弯路,所以在16年我开设了青年理财训练营,你想来和我一起赚取每年50万的利息吗?
点击进入青年理财训练营
-
赢在青年
专注青年财商发展及理财知识普及的教育咨询平台
开展形式
专家演讲
线上课程
财经资讯
线下沙龙及分享会
-
⑩ 软件测试需要会什么难学吗
第一步,测试基础:
测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。大概就包括:测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况、还需要良好的沟通能力、以及各种测试阶段所使用的测试方法、单元测试、功能测试、集成测试、系统测试等。
第二步:学习脚本语言
如:python语言,当然python 是一门相对简单的计算机语言,考虑长远发展,需要了解C语言或者java。都说C语言最难,但是用得确实也多。
第三步:学习软件测试工具
学习软件测试工具并不难,只是需要我们去系统的学习。比如性能测试工具loadrunner,自动化测试工具selenium、Appium,接口测试Jmeter、Postman等。虽然说工具不是万能的但是工具能为我们提高工作效率,所以必须得会熟练的使用。最关键的一点,是要结合项目具体去操作,实践出真知,理论知识在实际项目中才能得到巩固。
第四步:计算机硬件知识
做过性能测试的都知道在性能测试过程中硬件性能也是一个非常重要的指标、CPU、内存、IO、带宽等等、如果你是做硬件测试的。那么就更不用说了。交换机、路由器、防火墙这些设备都需要有所了解。
第五步:数据库测试
MySQL数据库
MySQL简介、命令行工具以及数据管理、MySQL数据查询(条件、分组、聚合函数、排序、分页、连接查询、自关联、子查询)、内置函数、项目练习、数据分表、Python操作MySQL。
Redis数据库
Redis简介、客户端和服务器、数据类型(string、hash、list、set、zset)、各种数据类型操作、Python操作Redis、主从、集群。
第六步:项目实战
最好参与真实项目的测试工作,积累真实项目的测试经验。
成为优秀软件测试员之提升条件,如果你想成为一个更优秀的软件测试员的话,除了上面那些,你也最好能够具备开发语言即代码编写能力,虽然不会写代码也能做测试、但是如果你想做到高级测试工程师以上、那么代码编写能力就是必选项、如果不会写代码、那么你不可能成为高级测试。高级测试工程 师的一部分工作就是在写测试工具。虽然测试也需要写代码但不需要和开发一样那么精通某一门语言、可是测试却需要了解很多门开发语言(举一个简单的例子:你 现在所在的项目从C++语言、2年后你换工作了、新公司的开发语言是Java或者是VB什么的)所以在开发语言中测试需要更广的学习。
成为软件测试员之必备条件,就是你一定要有良好的心态。心要静、细心耐心、责任心。心静不下来无法对bug展开发向思维及拓展想像。任何一个测试最先面对的心理压力就是重复性的劳动。在你的测试生涯中,一定会碰见很多心理的考验,自己对于质量心里没有底、或者由于产品发布问题或者达到了测试瓶颈时候的困惑等。每个人都有自己的背景以及性格,往往对于测试来讲,就是考验心理素质的时候,这个时候就需要你自己不断地去克服这些心理