漆慧芹 发表于 2021-11-20 19:10:45

测试基础

一、什么是软件测试?
         需求:来源于客户,项目里对接需求对接客户的是产品经理。
         UI设计工程师:画图(高保真图/原型图/效果图)
         可靠性测试:在规定的时间完成规定的事情,比如电梯-在2分钟内完成升降。
         可用性测试:产品可以使用--电梯超过2分钟完成升降
         可靠性包含可用,还是可用包含可靠?
         可靠包含可用。
         兼容性:Android   4.X   5.X6.X ....12.X    iOSios6ios7...ios15塞班windows phone 黑莓
         以用性测试:用户可以非常容易的使用(比如微信的支付功能放在设置里;抖音不需要登录就可以使用)
         压力测试:属于性能测试当中的类型。比如电梯的最大承受能力为2000KG,施加重量,加到2100KG,2200,看能否承受。临界值:   2000       压力测试可以理解为突破临界值
         负载测试:临界值为2000    逼近临界值,看能持续运行多久。比如负重跑步

   二、【IT常见基本术语】
         pc机:个人电脑
         物理机:比如像大型的实验室,可以当作服务器来使用(物理机是相对于虚拟机而言的实体计算机的称呼)。
         便携机:中兴通讯(基建和工程作业使用),本质还是一台计算机
         os(operating system):操作系统
          pc端的操作系统:window10   window7   window8   window xp    mac os:苹果电脑的操作系统(类unix系统)    Linux系统
         手机端的操作系统:Android   4.X   5.X6.X ....12.X   iOSios6ios7...ios15   塞班 、windows phone、   黑莓
         dos命令:打开dos窗口,按win+r 键→输入cmd进入dos命令窗口。输入 d: 可以进入到d 盘,输入ipconfig查看IP地址,输入dir显示    当前目录下面所有的目录。
         共享:SVN
         备份:U盘
         文件:用来编写信息进行呈现
         文件夹:文件夹用来存放文件或者文件夹的,文件夹也称为目录
         路径:相对路径和绝对路径。
         相对路径:比喻和熟悉的人说话(相邻的)
         绝对路径:比喻和陌生人说话。
         单机软件:指只能在一台电脑上使用,开发过程都由一个人完成;比如CS
         共享软件:有道云、SVN、git等
         项目与项目需求
         客户与客户需求
         项目需求就是在客户提的需求的基础上进行提炼出来的。
         项目组当中的角色:
                     项目经理   简称:PM(project manager)掌控项目组的所有进度(管理项目组所有成员),进度包括开发进度和测试进度等等。
                     产品经理:对接客户、对接需求的
                     开发经理:管理开发人员
                     开发人员:写代码
                     测试经理:简称 TPM,管理测试人员
                     测试组长:简称 TL
                     测试人员:简称 TE (test enginer)软件测试工程师
                     运维人员:维护公司的开发和测试环境,项目的发布和部署
                     ui设计工程师:画图
                     DBA:数据库管理员
         测试用例:测试人员根据需求文档先梳理测试点,再根据测试点编写测试用例,最后测试人员再执行测试用例。      

      三、IT行业的2大架构:
          1、客户机与服务器(可以说成是手机移动端)
         client-server简称叫做C/S架构
            优点:手机携带非常方便,安全性相对较高,上传下载网速相对较快。
            缺点:功能没有电脑全面、下载app需要耗流量(需要更新和维护),占内存
            目前有哪些应用:抖音、知乎、快手
         2、浏览器与服务器
         browser-server   简称B/S架构
             优点:资源多、容易维护(新功能上线只需要刷新网页即可)
             缺点:安全性相对较差,上传下载网速相对较慢。
             目前有哪些应用:腾讯视频、百度贴吧

   四、【V模型】
         用户需求:根据用户需求进行提炼变为项目需求
         需求分析:
                召开需求澄清会议:对需求进行分析
                需求澄清会议:由产品经理进行讲解
                对需求进行分析和讨论,所有的项目组同事都达成一致的意见并且形成一个基线化文档。
                基线化文档:表示当前状态已经非常稳定,可以随时进入下一个阶段。
                需求文档基线化文档称为《需求规格说明书》(SRS)。
         概要设计:开发编写,简称 HLD,就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。
         详细设计:开发编写简称 LLD,就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的,结构化的过程描述。
         单元测试:unit test由开发人员自测,又被称为白盒测试(透明盒子的测试),对程序的内部数据,内部结构和内部逻辑进行测试。
         集成测试:又称为接口测试(灰盒测试),比如QQ由5个模块组成,给到不同的开发小组去实现,5个模块是通过接口进行集成/连接的。
         系统测试:除了保证自身系统功能正常使用,可能还要考虑与第三方软件的结合/对接。
         系统测试和集成测试放在一起进行测试,称为系统集成测试(SIT测试)也叫做功能测试,就是功能和接口测试一起测。
         验收测试:
                  α(阿尔法)测试:模拟用户的使用行为去操作应用程序或者产品,是有测试人员和开发人员在现场,如果发现了bug直接让开发             人员进行修复。---此时产品还没有交付到客户的手中。
                  β(贝塔)测试:产品已经交付到客户手中,直接由客户去进行验收,如果发现问题(bug),客户会把bug提单发邮件的方式抄送            给项目组所有成员。

         对v模型进行一个总结:
                  你做过的项目当中有哪些项目阶段?并且每个阶段的输入与输出有哪些?
                           总共7个阶段
                        阶段                   输入                                          输出
                   需求分析         对需求进行分析                           需求文档/需求规格说明书(SRS)
                   概要设计         需求规格说明书                           概要设计说明书(HLD)
                  详细设计          概要设计说明书                           详细设计说明书(LLD)
                  编码                编写代码                                       整个项目的代码包(.war 和 .jar)
                  单元测试          根据代码进行单元测试                   单元测试报告
                  系统集成测试   根据测试用例进行测试                  系统集成测试报告
                  验收测试         用户参与验收测试/产品经理验收       验收测试报告         

       五、【H模型】:主要体现整个项目的流程
            1、项目和版本的区别:比如微信项目运营10年,可能3个月一个版本,一个项目有多个版本。
            2、项目和产品的区别:先有项目然后才有产品。比如一个电商平台项目==》1个月。
            3、工作日:周一到周五      自然日:周一到周天(循环)
            4、步骤:拿到需求文档之后通过多次的修改,让项目组所有同事都一致认可后,形成一个基线文档,就叫做需求规格说明书(SRS)
                           基线化:表示当前的状态很稳定,随时可以进入下一个阶段。
                           HLD:编写概要设计说明书
                           LLD:详细设计说明书
                           review:评审,测试人员也参与过需求澄清会议,所以可以评审HLD
                           TPM:测试经理编写测试计划(规定测试的范围,人力的安排,软件和硬件的资源,测试进度,风险评估等等)
                           TE:软件测试工程师
                           TC:test case==>测试用例或者测试案例
         5、问题:项目组当中常见的评审有哪些?【用例评审,谁写的谁主讲】
                         交叉评审:测试组内的测试同事之间进行交换用例评审
                         组内评审:项目组的相关同事,比如开发、测试、产品经理等等
                         会议评审:正式评审,有客户参与。
            6、testlink:是一款用例管理工具。
            7、TPM或测试骨干或者运维人员去搭建测试环境。
            8、公司里面会有哪些环境?
                        开发环境:开发人员使用的环境,编写代码的环境
                        测试环境:测试人员使用的环境,用于进行测试工作
                        预发布环境:即将上线的一个环境,用来验收测试
                        生产环境:线上环境/真实环境,有真实用户使用的环境。(比如大家在软件商城下载的软件,这些都是属于生产环境)
            9、测试环境搭建好之后,开发负责人会将开发的代码打包成war包,交给TPM或者运维人员进行部署到测试环境。
               部署成功之后启动服务器,就可以通过浏览器去访问到网页。项目一般都会部署在Linux服务器上面。
         10、冒烟测试:冒烟测试在sit系统集成测试用例中选取20-30条用例进行测试。对主体功能进行测试,最早源于硬件行业的电路板测试
                        (1) QQ登录功能的主体功能是什么?   QQ登录成功
                        (2)找回密码的主体功能是什么?      成功找回密码
                        (3)QQ注册功能的主体功能?            注册新的QQ账号
                        冒烟测试通过则执行sit测试(系统集成测试)
                        冒烟测试不通过,则把版本打回,开发人员重新修改代码,修改完之后重新打包→部署→测试。

            11、sit1:称为系统集成测试,又称为全量测试,需要将所有测试用例都执行一遍,比如写了1000条都要执行完。
            12、sit2:称为回归测试,又称为增量测试(测试用例数量上面的增加),比如增加了50条用例。回归测试还需要测试上一轮发现的bug   ,如果已修复则关闭,没有修复就激活bug。

            13、回归测试包括哪些测试内容?
                  (1)、测试上一轮发现的bug
                  (2)、测试新增加的用例
                  (3)、每一轮系统集成测试之前都要进行冒烟测试
                  (4)、测试与上一轮发现bug的相关联模块
            14、上线硬性标准,准出的标准有哪些?
                  1、bug为0
                  2、可以允许有一两个建议性/易用性bug存在(不影响主体功能)。在当前版本发现的易用性bug需要记录,拿到下一个版本解决
         15、一个版本迭代中有20个需求点:比如微信就是用迭代开发模型:聊天、发语音、发视频、发朋友圈、小程序、发红包、视频号等

          16、总结 H 模型:
            (1)、首先产品经理召开并主讲需求澄清会议,对需求进行多次评审,得到项目组所有成员的一致认可,得到《需求规格说明书》
            (2)、开发编写概要设计说明书,测试评审概要设计说明书,继续了解需求规格说明书。
            (3)、开发编写详细设计说明书,测试评审详细说明书,深入了解需求规格说明书。测试经理编写测试计划。
            (4)、开发写代码,测试编写测试用例,用例进行多次评审,形成基线文档,测试经理将基线文档导入到用例管理工具里面,并且          分配给写该测试用例的测试人员。
            (5)、测试经理或测试骨干或运维人员搭建环境
            (6)、测试环境搭建完成,开发负责人将代码打包成war包给到测试经理,部署到linux测试环境中,启动服务器,便可以进行测试了。
             (7)、首先进行冒烟测试,对主体功能进行测试,测试不通过则该版本打回,开发修改代码,然后部署,再给到测试
             (8)、冒烟测试通过就进入系统集成测试,将所有用例执行一遍,发现bug提交给开发,开发修复,然后测试进行回归测试,每一         次回归测试都先要进行冒烟测试,成功了再进行回归测试,直到达到测试准出
             (9)、最后编写测试报告。

页: [1]
查看完整版本: 测试基础