赞
踩
1.对手机软件的压力测试通常可以包括(ABC)
A 存储压力 B 响应能力压力
C 网络流量压力 D 并发压力
A 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B 所有测试项没有残余一级、二级和三级错误。
C 立项审批表、需求分析文档、设计文档和编码实现一致。
D 验收测试工件齐全。
白盒测试:(结构测试或逻辑驱动测试)路径测试、条件判断、循环测试、语句覆盖、判定条件覆盖等
A.TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码
B.TDD的基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。
C.TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。
D.TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
扩展:测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD得原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于敏感词开发方法和过程。TDD得基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
优点:在任意一个开发节点都可以拿出一个可以使用,含少量bug并具一定功能的产品。
缺点:增加代码量。测试代码是系统代码的两倍或更多。
A 正式验收测试 B 白盒测试
C alpha测试 D beta测试
A 负载测试 B 易用性测试
C 强度测试 D安全测试
A 软件测试计划 B 可行性研究报告
C 软件需求规范 D 迭代计划
A 软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。
B 软件测试的测试目标是发现一些可以通过测试避免的开发风险。
C 软件测试的原则之一是测试应该尽早进行,最好在需求阶段就开始介入。
D 软件测试主要工作内容是验证(verification)和确认(validation)
A 构建的确认过程
B 系统集成测试测试组提交过程
C 测试用例设计过程
D Bug的报告过程
A 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例
B 检查文档的编写是否满足文档编写的目的
C 内容是否齐全,正确,完善
D 标记是否正确
A 负载测试:在一定的工作负荷下,系统的负荷及响应时间。
B 强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
C 容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。
D 容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。
A JMeter: 基于JAVA的压力测试工具,Badboy用来进行脚本的录制
B Junit: 白盒测试工具:针对代码测试
C LoadRunner:负载压力测试
D TestLink: 用例管理工具
A 客户端性能
B 服务器端性能
C 从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法
D 界面
A 个人复查
B 抽查和会审
C 黑盒测试
D 白盒测试
1).输入不在范围内的打折价和不在范围内的原价(提示输入有误)
2).输入在范围内的打折价和不在范围内的原价(提示输入有误)
3).输入不在范围内的打折价和在范围内的原价(提示输入有误)
4).输入在范围的内打折价和原价(原价=打折价,返回折扣1.0)
5).输入在范围的内打折价和原价(原价>打折价,返回正确的折扣信息)
6). 输入 在范围的内打折价和原价(原价<打折价,返回错误信息)
参考答案:
1). 基本功能测试: 文件的复制粘贴功能,首先关键字“文件”,文件有不同的分类(图片、视频、音频、文档等),每个分类又有不同的类型(文档类型:txt doc execl pdf等),每个文件又有不同的大小,而且文件还有很多权限,是不是隐藏,是不是只是管理员可执行。选择不同分类的不同类型,不同大小的文件做测试资源。比如:文档类型里面txt文件可以分为 1.KB的txt文件、1MB的txt文件、1GB的txt文件。。。。下一个关键字 复制粘贴 复制有多种方式 右击选择、Ctrl+C、 拖动复制,对应粘贴也有各种方式。然后从哪复制,粘贴到哪,比如 可以有本机硬盘、移动硬盘、优盘、内存卡、软盘、光盘、连接手机存储,复制到网络地址等等。复制粘贴后文件是不是可用,文件权限是不是有变化。复制过去容量不够怎么处理?复制过后有重名文件怎么处理?复制过程中取消、关机、拔优盘怎么处理?复制过程能不能执行文件?
2).性能测试:复制粘贴功能性能怎么样?复制文件的速度可不可以接受?同时复制多个文件是不是可以完成?复制文件过程中占用CPU资源大不大,耗电量大不大?
3).兼容性测试 Windows XP, Windows 7, Windows 8 , Windows 8.1, Windows 10等各种windows版本是不是都支持这个功能。
4).交互测试; 复制粘贴文件时,使用windows存储的其他功能是否有影响?比如播放本地的音频、视频、等同时复制文件是不是有影响。一边复制,一边粘贴是不是有影响
参考答案:
1【基本功能测试】
功能:
输入正确的网址,进行转码,检查内容是否正确;
边界:
输入信息量非常大的网址
输入没有信息的网址
负值:
输入错误的网址,进行转码,系统是否有相应的提示;
输入的 web 的 page 为空,是否抛出异常;
2【兼容测试】
使用不同操作系统的移动设备查看转换后的页面,检查内容是否正确;
使用不同分辨率的移动设备查看转换后的页面,检查内容是否正确;
使用不同浏览器查看转换后的页面,检查内容是否正确;
3【性能测试】
测试转码的速度,或者系统的响应时间;
4【易用性 / 用户体验测试】
测试转码后,页面显示是否美观;
1.功能方面,是否能按指定条件查到正确、完整的结果,具体:
1.1录入条件为可查到结果的正常关键字、词、语句,检索到的内容、链接正确性;
1.2录入条件为不可查到结果的关键字、词、语句;
1.3录入条件为一些特殊的内容,如空、特殊符、标点符、极限值等,可引入等价类划分的方法等;
2.性能方面,可利用测试工具或各种测试手段考虑功能在各方面的表现,具体:
2.1压力测试:在不同发用户数压力下的表现(评价指标如响应时间等)
2.2负载测试:看极限能承载多大的用户量同时正常使用
2.3稳定性测试:常规压力下能保持多久持续稳定运行
2.4内存测试:有无内存泄漏现象
2.5大数据量测试:如模拟从庞大的海量数据中搜索结果、或搜索出海量的结果后列示出来,看表现如何等等。
3.易用性方面,交互界面的设计是否便于、易于使用,具体:
3.1依据不同的查询结果会有相关的人性化提示,查不到时告知?查到时统计条数并告知?有疑似输入条件错误时提示可能正确的输入项等等处理;
3.2查询出的结果罗列有序,如按点击率或其他排序规则,确保每次查询出的结果位置按规则列示方便定位,显示字体、字号、色彩便于识别等等;
3.3标题查询、全文检索、模糊查询、容错查询、多关键字组织查询(空格间格开)等实用的检索方式是否正常?
3.4输入搜索条件的控件风格设计、位置摆放是否醒目便于使用者注意到,有否快照等快捷查看方式等人性化设计?
4.兼容性方面,跨平台、多语言等多样性环境组合情况下测试使用的正常性,具体:
4.1WINDOWS/LINUX/UNIX等各类操作系统下及各版本条件下的应用
4.2IE/FIREFOX/GOOGLE/360/QQ等各类浏览器下及各版本条件下、各种显示分辨率条件下的应用
4.3SQL/ORACLE/DB2/MYSQL等各类数据库存储情况下的兼容性测试
4.4简体中文、繁体中文、英文等各类语种软件平台下的兼容性测试
4.5IPHONE/IPAD、安卓等各类移动应用平台下的兼容性测试
4.6与各相关的监控程序的兼容性测试,如输入法、杀毒、监控、防火墙等工具同时使用
5.安全性方面,往往容易被忽视的环节,具体:
5.1被删除、加密、授权的数据,不允许被查出来的,是否有安全控制设计;
5.2录入一些数据库查询的保留字符,如单引号、%等等,造成查询SQL拼接出的语句产生漏洞,如可以查出所有数据等等,这方面要有一些黑客攻击的思想并引入一些工具和技术,如爬网等。
5.3通过白盒测试技术,检查一下在程序设计上是否存在安全方面的隐患;
5.4对涉及国家安全、法律禁止的内容是否进行了相关的过滤和控制;
6.异常性测试,各种破坏性的操作的影响测试,具体:
6.1查询过程中断网、关机
6.2查询过程中强行中断关闭页面
6.3查询过程中强行杀死相关进程等
#include<iostream> #include<cstring> #include<stack> #include<utility> #define LEFTUP 0 #define LEFT 1 #define UP 2 using namespace std; int Max(int a,int b,int c,int *max){ //找最大者时a的优先级别最高,c的最低.最大值保存在*max中 int res=0; //res记录来自于哪个单元格 *max=a; if(b>*max){ *max=b; res=1; } if(c>*max){ *max=c; res=2; } return res; } //调用此函数时请注意把较长的字符串赋给str1,这主要是为了在回溯最长子序列时节省时间。如果没有把较长的字符串赋给str1不影响程序的正确执行。 string LCS(const string &str1,const string &str2){ int xlen=str1.size(); //横向长度 int ylen=str2.size(); //纵向长度 if(xlen==0||ylen==0) //str1和str2中只要有一个为空,则返回空 return ""; pair<int,int> arr[ylen+1][xlen+1]; //构造pair二维数组,first记录数据,second记录来源 for(int i=0;i<=xlen;i++) //首行清0 arr[0][i].first=0; for(int j=0;j<=ylen;j++) //首列清0 arr[j][0].first=0; for(int i=1;i<=ylen;i++){ char s=str2.at(i-1); for(int j=1;j<=xlen;j++){ int leftup=arr[i-1][j-1].first; int left=arr[i][j-1].first; int up=arr[i-1][j].first; if(str1.at(j-1)==s) //C1==C2 leftup++; int max; arr[i][j].second=Max(leftup,left,up,&arr[i][j].first); // cout<<arr[i][j].first<<arr[i][j].second<<" "; } // cout<<endl; } /*矩阵构造完毕*/ //回溯找出最长公共子序列 stack<int> st; int i=ylen,j=xlen; while(i>=0&&j>=0){ if(arr[i][j].second==LEFTUP){ if(arr[i][j].first==arr[i-1][j-1].first+1) st.push(i); --i; --j; } else if(arr[i][j].second==LEFT){ --j; } else if(arr[i][j].second==UP){ --i; } } string res=""; while(!st.empty()){ int index=st.top()-1; res.append(str2.substr(index,1)); st.pop(); } return res; } int main(){ string str1="GCCCTAGCG"; string str2="GCGCAATG"; string lcs=LCS(str1,str2); cout<<lcs<<endl; return 0; }
下面给一个Java版本
public static <E> List<E> longestCommonSubsequence(E[] s1,E[] s2){ int[][] num=new int[s1.length+1][s2.length+1]; for(int i=1;i<s1.length+1;i++){ for(int j=1;j<s2.length+1;j++){ if(s1[i-1].equals(s2[j-1])){ num[i][j]=1+num[i-1][j-1]; } else{ num[i][j]=Math.max(num[i-1][j],num[i][j-1]); } } } System.out.println("lenght of LCS= "+num[s1.length][s2.length]); int s1position=s1.length,s2position=s2.length; List<E> result=new LinkedList<E>(); while(s1position>0 && s2position>0){ if(s1[s1position-1].equals(s2[s2position-1])){ result.add(s1[s1position-1]); s1position--; s2position--; } else if(num[s1position][s2position-1]>=num[s1position-1][s2position]){ s2position--; } else{ s1position--; } } Collections.reverse(result); return result; }
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
关注我的微信公众号【伤心的辣条】免费获取~
送上一句话:
世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
我私人的软件测试学习交流群:902061117 群里有技术大牛一起交流分享~
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。