1. 如何做好app的测试工作
测试人员常被看作bug寻找者,但你曾想过他们实际是如何开展测试的吗?你是否好奇他们究竟都做些什么,以及他们如何在一个典型的技术项目中体现价值? 作者将带你经历测试人员的思维过程,探讨他们测试移动app时的各种考虑。
本文的目的在于揭示测试人员的这一思维过程,并展示他们通常所考虑内容的广度和深度。测试人员需要询问问题 测试人员的核心能力在于提出有挑战性的相关问题。
如果你能将调查、询问技巧和技术、产品的知识结合起来,渐渐地,你也会成为一个好的测试人员。 比如,测试人员可能会问: · 这个App应该在什么平台上使用? · 这个App到底是干什么的? · 如果我这样做,会发生什么情况? 诸如此类。
测试人员能从各种场景中发现问题,它们可能来自对话、设计、文档、用户反馈或者是产品本身。这些可能性太多了……因此,让我们一探究竟吧!从哪里开始测试 理想情况下,测试人员应该掌握所测产品的所有最新细节资料。
但事实上这很少见,因此,像其他人一样,测试人员只能将就使用手上有限的资料。但这不是不能测试的借口!测试人员其实是可以从内部和外部多种不同的来源处收集信息的。
这个阶段,测试人员可以问这些问题: · 有哪些信息:规格?项目会议?用户文档?知识渊博的团队成员?有支持论坛或者是公司在线论坛提供帮助?有现存Bug的记录吗? · 该应用是在什么系统、平台和设备上进行运作和测试? · 该应用是处理什么类型的数据(比如个人信息、信用卡等等)? · 该应用有整合外部应用(比如API和数据来源)吗? · 该应用需要用到特定的移动端网页吗? · 现有消费者如何评价这个产品? · 有多少时间可用于测试? · 测试的优先级和风险是什么? · 哪些用户使用起来不愉快,为什么? · 如何发布和更新? 基于以上收集的信息,测试人员可以制定测试计划了。通常预算决定测试方法,一天测完,一个星期或一个月测完的方法肯定不同。
当你逐渐熟悉团队、工作流程以及这类问题的解决方式时,你就更容易预测结果了。 案例:Facebook App的社会评论 当作为一名测试人员收集信息时,我喜欢选用Facebook App作为案例,因为用户的抱怨到处都是。
以下仅仅展示了部分遇到难题的用户在iTunes App Store中发表的评论,网络上还有很多。 iPhone上的Facebook App有很多负面的评论 如果我接受挑战去测试Facebook这个App,我肯定会考虑这些反馈,否则就是傻子。
测试人员的创造力 你可能知道这个App原本想做的事,但是它究竟可以做什么事呢?用户实际上是如何使用它的?测试人员擅长作为旁观者来思考,尝试不同的事物,以及不断地询问“如果。
会怎么样”和“为什么”的问题。
比如,移动端的测试人员常常以不同的用户角色进行测试——当然有点夸张,但是,这种把自己当成不同用户进行思考、分析和设想的能力对测试是备受启发的。 测试人员可能会设想自己是以下用户: · 毫无经验; · 很有经验; · 爱好者; · 黑客; · 竞争对手。
当然还有更多可选的角色,这主要取决于你们所开发的产品是什么。其实除了角色特点外,其操作行为和工作流程也很重要。
人们使用产品方式常常很奇怪,比如: · 在不应该返回的时候返回了; · 不耐心而且多次敲按键; · 输入错误的数据; · 不理解该怎么做; · 可能没有按要求进行设置; · 可能会自以为是地认为自己知道该怎做什么(比如通常不阅读说明)。 测试人员遇到这些问题时,也常常发现意料之外的Bug。
有时候,这些Bug微不足道,但是更深入的调查就会发现更严重的问题。 很多问题是可以被预先确定和测试的。
测试移动端App时,以下的问题并不都有关,但是也可以尝试问问: · 是否按照所说的来做呢? · 是按设计完成任务的吗? · 不是按设计完成任务的吗? · 如果处于一直被使用或者负荷情况下,状况会怎么样?会反应迟钝吗?会崩溃吗?会更新吗?有反馈吗? · 崩溃报告会反馈到App吗? · 用户可能有哪些创造性的、逻辑性的或是消极的导航方式?用户相信你的品牌吗? · 用户的数据安全如何? · 有可能被中断或是被破解吗? · 运行到极限时会发生什么状况? · 会要求打开相关服务吗(如GPS、Wi-Fi)?如果用户打开会怎样?没打开又会怎样? · 将用户重新引向哪儿?去网页?还是从网页到App?这会导致问题出现吗? · 沟通过程和市场反馈是否符合该App的功能、设计和内容? · 登录流程是怎样的?能在App上直接登录还是要去网页端? · 登录是否整合了其他服务,比如用Facebook和Twitter帐号登录? 案例:Run Keeper's gy Update RunKeeper,是一款能跟踪你健身活动的App,最新发布的版本里有个“目标设置”的功能,对此我很感兴趣去体验一下,一部分从测试人员的角度来看,更多的是作为一个真心喜欢产品的用户来体验。但我发现了一些问题: 1. 默认单位是英镑,我却想要把公斤作为重量单位; 2. 英镑和公斤间的切换根本不好用; 3. 当设定目标后,会导致展示错误的数据和图表,这让我很迷惑; 4. 由于第3条,我想删除目标,但却根本找不到删除的地方; 5. 为了解决这一问。
2. 做软件测试都要会哪些
第一步,测试基础:
测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。大概就包括:测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况、还需要良好的沟通能力、以及各种测试阶段所使用的测试方法、单元测试、功能测试、集成测试、系统测试等。
第二步:学习脚本语言
如:python语言,当然python 是一门相对简单的计算机语言,考虑长远发展,需要了解C语言或者java。都说C语言最难,但是用得确实也多。
第三步:学习软件测试工具
学习软件测试工具并不难,只是需要我们去系统的学习。比如性能测试工具loadrunner,自动化测试工具selenium、Appium,接口测试Jmeter、Postman等。虽然说工具不是万能的但是工具能为我们提高工作效率,所以必须得会熟练的使用。最关键的一点,是要结合项目具体去操作,实践出真知,理论知识在实际项目中才能得到巩固。
第四步:计算机硬件知识
做过性能测试的都知道在性能测试过程中硬件性能也是一个非常重要的指标、CPU、内存、IO、带宽等等、如果你是做硬件测试的。那么就更不用说了。交换机、路由器、防火墙这些设备都需要有所了解。
第五步:数据库测试
MySQL数据库
MySQL简介、命令行工具以及数据管理、MySQL数据查询(条件、分组、聚合函数、排序、分页、连接查询、自关联、子查询)、内置函数、项目练习、数据分表、Python操作MySQL。
Redis数据库
Redis简介、客户端和服务器、数据类型(string、hash、list、set、zset)、各种数据类型操作、Python操作Redis、主从、集群。
第六步:项目实战
最好参与真实项目的测试工作,积累真实项目的测试经验。
成为优秀软件测试员之提升条件,如果你想成为一个更优秀的软件测试员的话,除了上面那些,你也最好能够具备开发语言即代码编写能力,虽然不会写代码也能做测试、但是如果你想做到高级测试工程师以上、那么代码编写能力就是必选项、如果不会写代码、那么你不可能成为高级测试。高级测试工程 师的一部分工作就是在写测试工具。虽然测试也需要写代码但不需要和开发一样那么精通某一门语言、可是测试却需要了解很多门开发语言(举一个简单的例子:你 现在所在的项目从C++语言、2年后你换工作了、新公司的开发语言是Java或者是VB什么的)所以在开发语言中测试需要更广的学习。
成为软件测试员之必备条件,就是你一定要有良好的心态。心要静、细心耐心、责任心。心静不下来无法对bug展开发向思维及拓展想像。任何一个测试最先面对的心理压力就是重复性的劳动。在你的测试生涯中,一定会碰见很多心理的考验,自己对于质量心里没有底、或者由于产品发布问题或者达到了测试瓶颈时候的困惑等。每个人都有自己的背景以及性格,往往对于测试来讲,就是考验心理素质的时候,这个时候就需要你自己不断地去克服这些心理
3. 应聘软件测试,一般会有什么笔试的题目
1:测试基础理论;
2:网络协议知识;
3:linux
4:sql语句
5:测试用例--必问
6:代码知识
7:逻辑题
=========
软件测试面试题大全-最真实的面试题
以下为童鞋去面试整理的面试问题。--真实软件测试面试题、真实公司所问的
适合人群:零基础学习软件测试、多年跳槽的人员
面试过程中也会有深挖的,这些就不在多写。还有些待整理的,慢慢补上、完善。
希望对各位有所帮助!!!来源--Dotest
1:个人介绍
2:项目介绍
3:流程逻辑介绍
4:职责介绍
5:项目人数,分别负责的是什么
6:每日工作介绍
7:接口如何测试的?用例如何设计?
8:一个项目中大概有多少个接口
9:get\post的区别
10:常见的状态码是什么
11:postman、Jmeter\soapui的区别
12:公司流程
13:需求评审是怎么进行的
14:测试计划怎么写的?重点是什么?
15:测试用例的思路?
16:如果我们没有原型图、需求的话,你怎么写用例
17:给你个app\web你能快速说下用例的设计思路吗?
18:app与web的不同点是什么?
19:测试报告的重点
20:什么是灰度测试
21:上线后的跟踪如何做的?
22:为什么要做上线后的回归测试
23:上线后发现的问题如何处理
24:什么是UAT测试,为什要做UAT测试
25:bug怎么描述的
26:用例怎么描述的
27:优先级和严重程度如何划分
28:如果和开发有歧义的话怎么办
29:你映像bug是什么?
30:你发现一个bug如何定位的
31:自动化测试如何进行的?用的什么框架
32:常用的定位方法是什么?
33:功能测试与自动化的区别
34:什么样的项目适合自动化
35:自动化的好处是什么
36:自动化的劣处是什么
37:你感觉你写的用例覆盖全面吗
38:上线后发现的问题如何处理
39:linux常用的命令
40:linux常用的文件
41:linux环境搭建的步骤
42:常用sql语句
43:你们公司用sql吗,怎么用的
44:兼容测试你怎么做的
45:手机是如何考虑的
46:兼容测试的重点是什么
47:如果手机不够的话你怎么解决
48:真机和模拟器的区别是什么
49:你如何保证兼容的覆盖率
50:怎么抓手机的数据包的?如何设置
51:通过抓取数据包主要测试什么
52:性能测试做吗?怎么做的
53:python的遍历是什么
54:随意丢个软件说下具体的用例
55:你们公司多长时间迭代一次
56:迭代测试需要注意什么
57:你映像最深的bug是什么
58:你的期望薪资
59:你看比预期低2k,你能接受吗
60:我们公司加班多,能接受吗
61:能接受出差吗?
62:路程有点远
63:你为什么要离职
64:你感觉你的优势在哪?
65:你未来的规划是什么
66:你对下一个工作岗位有什么期望或要求吗
67:对你的领导有什么要求吗
68:你感觉你上家公司怎么样;能说下优缺点吗?
69:你感觉你上家领导怎么样;能说下优缺点吗?
70:有女朋友\男朋友吗?
71:打算什么时候要孩子
72:你看你有什么想问的吗
73:你大概什么时候能入职
74:最近面试多吗?
75:手上有offer吗?
76:你是什么时候开始找工作的?
77:你从上家公司离职已经有好几天了,是刚开始找工作吗?\为什么一直没找工作
4. 最近要做APP的黑盒测试方案,求怎么写用例,具体过程
首先,要确定大方针,落实负责人和目标,在根据需求确定具体做什么类型的测试及规划、执行步骤,当然最重要的还是用例的设计
测试负责人需要负责沟通和推进整个测试过程,人员和时间安排,以及跨团队合作的沟通,和对外公示进度等工作。确定团队合作的项目,测试方案中一定要明确各方的测试范围,避免重测和漏测。
确定测试类型
白盒测试:黑盒手段不易覆盖或覆盖不到的路径
黑盒测试:功能测试、UI测试、业务流程
性能测试:响应时间、系统内存占用、使用流畅度
安全测试:涉及用户隐私的测试
兼容性测试:不同系统环境、软件环境下运行情况
压力测试:多用户并发、与服务器交互
然后是测试环境规划:
产品运行环境:特定的运行环境,或者对其他程序有依赖的产品
兼容性环境:与其他进程或者系统的兼容性
压力测试环境:构造多用户并发的数据量
测试服务器搭建:与服务器交互,构造测试数据
TestBird- 手游和App自动化测试平台