1.什么是软件测试
软件测试是在测试中识别软件产品和服务的准确性和质量的过程。显然,它的诞生是为了验证产品是否满足客户的特定先决条件、需求和需求。
在一天的工作结束前,确定特定的最终目标并测试执行一个框架或应用程序,以指出其错误、错误或缺陷。
测试的职责是找到bug并指出问题问题,并给Dev(开发人员)提供一个线索,以帮助他们根据需求纠正错误。
2.软件测试有哪些分类
手工测试和自动化测试
手工测试包含:功能测试、性能测试、接口测试
功能测试:功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略
性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试
接口测试:接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
自动化测试包含:ui自动化和接口自动化
ui自动化测试:首先明白什么是ui,ui即User Interface(用户界面)的简称。传统的UI测试就是通过人工的方式去操作用户界面,从而发现程序的bug,那么UI自动化要做的事情就是用代码替代人为的操作,完成对用户界面的测试。
接口自动化测试:接口自动化测试,就是通过代码自动对接口进行测试。
3.软件测试需要用到的工具
功能测试:常用的功能测试bug管理工具:JIRA,mantis,bugzilla,bugfree (禅道)。我主要用的是禅道,禅道测试管理工具是功能比较全面的测试管理工具,功能涵盖软件研发的全部生命周期,为软件测试和产品研发提供一体化的解决方案,是一款十分优秀的国产开源测试管理工具。
性能测试:常用的工具jmeter和loadrunner,我一般使用jmeter,因为轻量。使用相对于loadrunner方便很多。
接口测试:postman,apipost等。这里我经常使用的是apipost,相对于全英文的postman来说,国产的接口测试工具apipost使用起来更方便一些。
自动测试:一般是需要会一门编程语言,在加上对应的框架。
ui自动化:web端的ui自动化我一般用的是python+selenium,selenium支持多种语言具体的你们可以百度查看。移动端的ui自动化测试我一般使用的是python+appium。
接口自动化测试:我一般使用的是python+ unittest+requests,实现接口自动化测试的。
4.软件测试需要掌握的知识
一个合格的软件测试人员,需要学习知识有很多。
功能测试,学习各种功能测试测试用例编写方法:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试和接口测试:需要能看懂前端html代码,明白什么是http请求,什么是get和post请求。熟练的使用性能测试工具和接口测试工具。
自动化测试:需要掌握一门脚本语言,一般为python、php等。了解如何适应selenium、appium、unittest和requests等框架。
操作系统:Linux系统操作命令和简单的shell编程。
中间件:会tomcat , jboss, weblogic, websphere等中间件的操作使用。
数据库:熟练使用sql语句,一般是熟练使用sql查询语句。
这些是我个人对于软件测试的看法,不喜勿喷。
然后其中一些工具下载地址分享给大家。
ApiPost - 可直接生成文档的API调试、管理工具[www.apipost.cn