软件测试学习 之 进阶之路

       白客工作室虽成立不久,却得到许多朋友的关注与支持,最近接到很多关于零基础软件测的咨询,其中一些同学问我如何自学,我抽空写了一个软件测试工程师的学习路线,供想要转行或者刚刚从事软件测试的同学参考。


1.学习与软件测试相关的基本概念术语

        这是学习软件测试的基础的基础,必须要知道和理解,如果你不是计算机专业毕业的,更要努力学习。


2.学习一门编程语言

        软件都是由编程语言编写而成的,IT行业的编程语言也很多如JAVA,Python, C++,C,PHP,C#等,我这里推荐初学者学习JAVA,因为市场上JAVA编写的项目很多,如果你从事软件测试工作,面对的最多的也是JAVA工程。

        软件测试学习 之 进阶之路_第1张图片

                            图:201810月,TIOBE排名前10编程语言

      上图可以看到,目前主流语言中JAVA语言独占鳌头,拥有强大的开发群体,未来依然可期。

      这里也多强调一下,想要在软件测试的职业路上走的更高更远,编程是必经之路,不仅是在自动化测试上用到,更重要的是培养编程思维,5年,10年或者20年后出现新的编程语言,你也能从容不迫,快速入门。

3.功能测试

        找找你身边的软件,例如你学校或者公司使用的管理系统,前提是你有使用权限,首先去了解并且总结这个系统的功能结构,人员权限结构,然后让自己站在需求人员,开发人员,使用者的角度,看看系统的优点和缺点,思考如何修改系统才能更好。使用手机APP也可以,软件种类丰富一些,主要培养你对软件系统的认识和真实感受。

        其实真正的软件测试工程师,都是从功能测试开始的,功能测试要学习很多测试理论和基本测试技巧,例如软件开发生命周期,测试基本原则,缺陷定位和管理,测试方法等,还要特别清楚每个所要测试产品需求与功能点。不要认为手工测试只是“点点点”,用最高的效率,用最少的用例覆盖更多的测试点,做个优秀的功能测试人员并不容易。

 

4.自动化测试

       自动化测试包括界面(UI)自动化测试,接口自动化测试。
       自动化测试其实是功能测试的一种方式,它是通过工具(程序)的方式来代替或辅助手工测试对系统的功能进行验证。
       自动化测试在系统测试中,不是必需的,从时间和成本上考虑,例如“软件需求变动频繁”,“项目周期紧迫”等这类的项目,不适合编写自动化脚本进行自动化测试。

       划重点,划重点,划重点!
      自动化测试,虽然实际项目中可能用不到,但是我还是强烈建议,做软件测试的同学能学习一下,因为自动化测试技术含量更高,所以会比手工测试薪资高30%- 50%,真金白银,难道不心动一丢丢吗?
       前面我一直建议大家学习编程语言,因为你要在这编写自动化脚本了,对于想入门测试的小白来说,有点学习难度,但是不能放弃啊。
   
   
5.接口测试

        接口测试也是功能测试的一种方式。
        什么是接口,接口通俗的来说就是一个获取信息的入口,例如"小区的大门,你进了大门,才能访问你想要的见的好友"
        接口按面向对象来说,分为外部接口和内部接口,很好理解,外部接口供系统以外的其他系统访问,内部接口供内部模块之间访问。
        接口形式,常见的有webService接口,Http接口,目前从事接口的测试的人员,见到大多是Http接口。
  
        再次划重点
       接口测试相对一自动化测试简单的多,简单的多!!!本质是把界面上的点击事件,变成一个访问请求而已。必须学会接口测试,这又是你能拿到的人民币啊。
  
6.性能测试

       性能测试,相对功能测试,又是软件测试的一个方向。
       软件测性能指标,根据业务量和设计架构,在需求分析阶段就已初步确定。
       系统性能测试人员和系统开发人员是一起协调工作的,开发人员不断调整优化系统,测试人员反复测试,以达到最优性能为目的。
       目前从事性能的测试的人员,都使用一些测试工具例如"JMeter","Loadrunner"来测试,生成测试报告供开发人员调优参考。
       初学者需要对负载,吞吐量,并发量,响应时间,内存,CPU等概念,有清晰的认识,学会使用一种性能测试工具就可以了,我推荐JMeter,因为它轻巧,开源。
  
  
7.安全测试

       我们的系统经历了功能,性能,兼容性和稳定性测试测试以后,就要做系统的安全测试,尤其针对权限、敏感数据等方面。
  常见的安全测试内容包括:
            用户权限控制

            SQL注入

            URL安全测试

            XSS(跨站脚本攻击)

            CSRF(跨站请求伪造)

            日志、配置文件敏感信息

        要做安全测试,对技术人员的技术水平要求很高,既要懂操作系统,各类数据库,又要懂前端技术,还要能看懂程序代码,寻找系统漏洞,模拟攻击,提出系统防护建议。
       能达到这样技术要求的安全测试人员较少,一般公司由软件开发人员兼任,大公司有专门安全测试团队,我建议做安全测试就去大公司,能学到很多东西。安全测试学习的知识较多,初学者不要着急,一项一项来学,慢慢积累。
    
       以上写了一些软件测试的进阶与方向,无论是已经从事软件测试的同学,还是打算从事软件测试的同学,我都希望可以去了解学习,学无止境,技多不压身。若还有什么困惑或者疑问,可以和我们的测试大牛进一步交流讨论。

 

 

你可能感兴趣的:(软件测试)