找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

12.5软件测试及软件的生命周期

[复制链接]
软件测试的目的
寻找软件当中的bug,来减少公司的风险及损失
需求测试
需求是什么?需求是谁写的?需求怎么开始测试的?
1.需求是由客户提出,具体实现的某种东西
2.需求是由产品经理进行整理输出的,产品经理输出:需求文档,原型图
3测试需求是针对产品经理输出的需求文档,原型图进行测试,来测试需求文档中有没有存在矛盾的地方,以及需求的合理性
界面测试
  界面是谁进行设计?
1.ui设计师进行设计--输出高保真图片
界面怎么测试?
1.第一点检查页面文字信息,是否有错别字,字体的规范,页面的颜色
2.软件的布局排版进行检查
功能测试
  • 功能测试也叫黑盒子测试
  • 对代码测试的叫做白盒子测试-透明盒子:针对开发所写的底层代码进行测试
  • 接口-api:灰盒子测试

功能测试怎么进行测试
1.点点点测试-对软件当中的流程及进行测试-看流程是否畅通,以及对应的功能是否实现
2.功能是否满足客户的需求
安全性测试
安全测试-在项目组中统称为专项测试-是由具体的安全的人员进行实施
软件当中安全测试:包含xss攻击-以及sql注入
可靠性测试
软件当中的可靠性测试
例子:给一个具体的指标-看软件是否能达到(可用的东西不一定可靠,可靠的东西一定可以使用)
可用性测试
可用性测试:我的软件是否可以使用
可移植性测试
比如软件app在不同的应用商店上架
兼容性测试
软件兼容性测试:
1.浏览器的兼容性:谷歌,火狐,IE,uc
2.wed端的系统兼容性测试:Windows,mac,Linux,Unix
3.os的系统版本也需要兼容性测试:win10,win7,xp
app兼容性测试:
1.不同的手机品牌:苹果、华为、小米
2.不同手机操作系统:安卓,iOS
3.不同的系统版本:ios8,ios10
4.不同的手机屏幕:曲面屏,刘海屏,折叠屏,蝌蚪屏
易用性测试
检查软件是否好用,是否贴合用户的使用习惯
性能测试:
属于专项测试
1.压力测试
给他指标看是否能在规定时间内完成
2.负载测试
承受一定的压力:例子:电脑本身极限是同时运行3个游戏不断地增加游戏看具体的运行极限
3.并发测试
模拟大量用户来观察软件是否在短时间能够承受大量的并发用户量

it常见基本术语
软件与硬件
软件:
系统软件:操作系统自带的软件
应用软件:是第三方进行下载的,
硬件:电脑,鼠标等
pc机:个人电脑
物理机:可以理解为配置比较高的电脑
便携机:也是电脑,应用在工程行业比较多
os:操作系统(Windows,xp,mac,linux)(安卓,iOS,鸿蒙)
dos命令与图形化界面:
WIN+R,输入cmd,打开dos命令窗口
切换磁盘:磁盘+冒号
dir显示磁盘文件目录
cd进入命令,显示当前的位置已经在这个文件当中
cd..:返回上级目录
cd../..返回上上级目录
cd /:直接返回磁盘的根目录(磁盘主目录),/代表根目录,每个盘都有一个根目录
cd \:直接进入文件夹下的文件夹,中间用\分割
ipconfig:查询IP地址
ping+网址 检查网络是否畅通
目录:文件夹
文件=文件
共享
把一个东西的知情权和使用权分享给某个人
共享单车,共享充电宝
12.5-下午
备份
把原有的文件存档一份
文件与文件夹:
文件包含:文本、应用程序、视频、图片:可以被执行的
文件夹:用来存放所有的文件
目录与路径
目录就是文件夹
路径:
1.绝对路径:\表示根目录,表示最开始的地方
家---地铁/公交/单车---公司(从最开始的地方出发,一层一层到达最终的目标地
2.相对路径:./
不用从最开始的位置出发,可以从中间任意节点进行出发来找到我们的目的
客户机与服务器(client server)c/s架构
浏览器与服务器(browser sever)b/s架构
c端是c/s架构产品:微信/京东/淘宝
b端是b/s架构:禅道/京东/淘宝
面试问题:
你是之前主要做C端还是B端产品,两者之间的区别:
主要做B端web端的产品,c端也有负责过
c/s:
1.需要进行下载和更新操作
2.占用系统内存
3.安全性比较高,对服务器的要求配置比较高
4.易用性比较高
b/s:
1.只需要通过IP或者域名直接就可以访问项目
2.不需要安装卸载升级等操作
3.不占用本地内存,占用浏览器的缓存空间
4.安全性比较低
单机软件与共享软件
单机软件:不需要连接网络:流星蝴蝶剑,暴力摩托,侠盗飞车
共享软件:有道云笔记,百度云盘
app:
手机端应用程序
项目与项目需求:
1.项目理解为一个工程
2.项目需求:
  • 项目周期
  • 需要多少人力安排
  • 项目需求需要达到什么样的条件

客户与客户需求:
客户需求就是客户提出来的要求,产品经理进行整理输出需求文档--
项目角色:
项目经理:PM(projiect manager)--统筹整个项目组,管理整个项目组的进度与工作安排
产品经理:对接客户,整理输出需求文档--或者原型图
ui设计师:负责产品外观的设计
开发人员:前端开发:页面逻辑的编写
                  后端开发:项目的具体逻辑编写
                  Java做后端,python,php,GO
开发组长:TL(test leader)负责开发人员的工作安排以及组内管理工作
开发经理:统筹整个项目组的开发人员
测试人员:TE(test enginner)负责软件的测试工作,保证软件的质量和测试的进度
测试组长:负责测试小组人员的工作安排,进度管理
测试经理:TPM(test project manager)负责软件测试工作的整体安排
架构师:负责整个项目的系统框架的设计
运维人员:主要负责监控网络和维护后台的环境和搭建部署环境
dba:数据库管理

软件测试的流程
需求分析-需求测试——由 产品经理组织文档之后,把需求文档以邮件的形式发送对应项目人员手中
测试人员---检查需求当中是否有存在矛盾点的地方,有需求不合理的地方
需求评审
产品经理组织所有项目组成员进行需求评审---达到项目组成员对这个需求意见统一
用例设计
用例设计方法;:等价类。边界法,场景分析法,判定表去服务测试用例的人机
测试用例:测试人员执行测试的依据:
面试题目:
测试用例包含哪些内容:(你的测试用例包含哪些内容?)
测试用例编号:wuhan10
测试用例名称:验证聊天功能发送邮件
测试的步骤: 1.登录账号,2.点击输入文字。3、点击发送
测试的预期结果:我所希望达到的结果---发送聊天成功
测试的实际结果:对软件进行执行用例后的结果
测试用例的执行人:测试人姓名
用例评审
分为3种形式:
1.项目组评审:所有项目组成员进行参加--评审你编写用例是否合格
2.交叉评审:是和你的测试同事进行交互评审
3.组内评审:测试小组进行评审
用例评审的目的:
为了检查你的用例是否覆盖的功能全面,是否有遗留的功能没有概述到
执行用例
参照测试用例文档对软件进行检查,来看软件是否存在问题,
发现bug---提交给对应的开发人员进行修复--修复完成后进行验证--关闭bug
输出报告
1.此次我测试过程中涵盖的所有问题
2.测试用例
3.我测试的对应功能模块
4.包含我测试的服务器配置是什么版本的服务
5.包含我遗留产生的问题-以及对应的风险项
验收测试
α:.阿尔法验收测试:在非正式环境进行验收测试(预发布环境),测试结束后发布给用户进行使用------由客户方进行验收
       发布的过程会选择一个时间点进行发布,一般选择晚上进行发布线上环境,给用户进行使用,虽然说发布到线上也需要测试一遍
环境:开发环境 dev环境:开发人员编写代码的环境
         测试环境:提供给测试人员检查产品质量的环境
         预发布环境:模拟生产环境,为什么要在预发布环境在执行一次测试,测试环境当中具有测试人员增加的脏数据,也会存在一些不会发布给用户使用的功能,就会拆分单独的功能在预发布环境在执行一次---看软件是否会出现新的问题
        生产环境也叫线上环境:提供给用户进行使用的环境(上线:把产品发布给用户进行使用)
β:贝塔验收测试
         直接在线上环境进行验收,测试通过之后由客户进行反馈,后续再逐步对接用户反馈的问题进行修改-------所有项目组成员进行发布
发布版本上线
持续跟进线上用户反馈的问题,以及准备后续的工作开展


为什么要进行测试:
1.软件的非正常运行状态或其自身的缺陷bug会引发很多问题:异常行为,不符合需求文档中的执行方式
2.软件是由代码和文档组成的,都是由人进行编写,人都可能犯错
3.环境也会影响软件,以致出现软件“失效”现象
4.软件测试活动只是关键的质量保证的活动之一
   测试保证质量
   开发代码也是保证产品质量的因素
   产品整理的需求 保证产品质量
什么是测试?
制造业的定义:以检验产品是都满足需求为目标
软件行业的定义:
a.验证软件的正确性
b.发现软件中的缺陷
发现软件中的缺陷的3种观点
1.测试是为了证明程序有错
2.一个好的测试用例,在于他能发现以前未发现的一个错误
3.一个成功的测试,能发现前所未有的错误的测试
软件生命周期
别称:软件生存周期或者软件开发生命周期
软件从产生到报废的整个过程,是一种时间的概念
软件生命周期包括哪些阶段:
1.客户的需求引入定义:由产品经理进行对接客户方整理客户方的需求,形成可以执行的文档
2.可行性分析:(经济、政治、法律、技术方法做综合考虑)
  • 经济:整个产品是否可以带来实质的经济效益

             当前项目的资金是否支持当前项目的运转
  • 政治:不能涉及政治关系,政治敏感话题,不能传播政治相关的负面新闻
  • 法律:拒绝黄赌毒
  • 技术:当前项目组人员的技术能否支持这个项目的实现过程

3.项目的招投标:建设项目组,拟发公告吸引有资质承包公司,承担项目组当中的一部分开发工作
4.项目立项:
  • 确定工作计划(工期安排)
  • 招人
  • 指定人员开发计划,测试计划

5.需求分析:
由产品组织需求分析评审会议,主要确定项目组成员对需求理解一致
6.开发阶段
  • 开发阶段:是由开发人员进行执行 。编码coding
  • 测试阶段:对这个软件执行测试--寻找软件当中的缺陷以及问题(进行修复-书写报告-发版上线给用户进行使用)
  • 维护阶段:维护代码;维护老的功能,新的功能开发;维护客户反馈的问题,进行跟进问题,修复问题,解决问题

典型的软件生命周期开发模型
项目组当中的开发模型
  • 瀑布模型(最早)

       典型的预见性的方法,严格遵循步骤执行开发计划,测试行为在开发编码之后,
       系统需求-软件需求-分析-程序设计-编码-测试-运行
       特点:阶段性开展的,一个阶段的结束代表一个阶段的开始,如果出现问题返回上一层修改
       优点:
  • 清晰表达了开发测试全过程的测试模型,
  • 方便项目组的管理
  • 适用于大型项目管理---有足够长的项目周期
  • 严格遵守层级制度,也保证了每个层级活动的质量

       缺点:
  • 会导致需求产生变化,返工的工程量比较大
  • 熟悉需求度不够,容易产生漏测
  • 项目结尾的阶段才能够看到实质的结果


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册