软件测试面试指导初学笔记整理

1:需要的知识:扎实的计算机基础知识,操作系统,数据库,数据结构,编程语言,测试理论等等;

2:认证:软件评测师

3:软件测试的知名网站:51Testing:www.51Testing.com   测试时代:www.testage.org

4:基础知识:

       1.C语言。数据类型,运算符,数组,程序控制流,if-else  Else-if  for   while  do-while  switch break continue goto 函数,指针,结构,头文件

        2.C++:面向对象的编程方法,类和对象,构造函数和析构函数,公有私有和受保护类型 ,继承和派生,多态,虚函数,掌握一种可视化编程工具

        3.操作系统:操作系统的几种类型:批量,分时和实时操作系统;进程;进程的同步和互斥;进程间的通信;线程;资源分配;处理机调度;内存管理;磁盘分区和管理;I/O控制;文件管理系统

        4:数据结构:算法的时间复杂度和空间复杂度;线性表;栈;队列;树的基本概念;二叉树;图的基本概念;图的遍历以及图的生成树;查找,顺序查找、二分查找;排序,插入排序,选择排序和交换排序,快速排序等;

        5:数据库:关系型数据库;字段,关键字;表;索引;触发器;存储过程;作业;事务以及事务的提交和回滚;游标;SQL语言;数据备份和灾难恢复;数据导入和导出;权限控制;数据库设计初步

        6:软件工程:软件工程的概念;几个知名的软件开发模型:瀑布模型,螺旋模型,增量模型等;需求分析;软件设计的基本原理:模块化、抽象、耦合、内聚;程序流程图;软件测试的基本概念;单元测试;集成测试;功能测试和性能测试;白盒和黑盒测试;评审;配置管理;CASE(计算机辅助软件工程)

        7:网络:几种常见的网络拓扑结构:总线型、环形、星形、树形、网状、混合型等;OSI参考模型(7层协议);TCP/IP;以太网;常见网络设备,例如路由器、网桥、中继器,网关等;广域网;

5:功能测试:

按照需求文档,一一检查软件产品,看看软件产品是否实现了应有的功能。难点:考虑的是否全面周到,新手测试的时候总是容易出现遗漏的情况;另外,要检测是否实现了需求文档里没有的功能,如果出现,即使有益处,也得作为问题提交上去。

6:软件测试的思想

     等价类思想:比如测试一个计算器,可以分成加减乘除几个运算法则进行测试。然后测试的数字可以分为正数,负数,小数,0等几种情况,然后再每一个类中选取几组数字进行检测。也可以按照加数的位数来区分,1位,2位,3位等等,正整数,负整数,加数的个数都是分类情况;

     边界值的检测:比如1600为一个临界值,则可以测试1599,1600,1601三个值,计算器中可以测试最大的值999999999等等,看看是否会出现问题;有的边界值即使出现的情况概率比较小,也应该加以检测,不能忽视

    因果图和判定表:主要是根据可能的情况进行排列组合,不能遗漏任何一个情况

7:代码覆盖

    软件测试时代码的覆盖率越高越好,可以分为语句覆盖,分支覆盖,条件覆盖等

8. 如何编写测试用例

  a:简明扼要的标题;b:详细的测试步骤;C:正确的预期结果   切忌千万要写清楚,不要把多个测试用例写在一个测试用例里,这样出现BUG的位置和情况不易判断,后面的人也不容易阅读

9:测试用例要分优先级,一般分为5级,数字越小表示越重要,一般来说出现的BUG的优先级和重要性是成一定关系的,一般优先级越高越重要,但是也不是全部如此,比如如果界面出现了问题,虽然重要性不是很大,但是用户会立刻感觉到,所以要尽快加以处理,优先级却很大。

10:执行测试用例:一定要按照测试用例进行执行,不懂的要问清楚,千万不要自己猜测;测试的目的是发现BUG,所以当测试的时候如果出现了BUG,一定要做好记录。

11:提交BUG。清晰明确的重现步骤;要有预期结果和实际结果的对比;级别定义;如果有可能,做一个原因分析;如果是界面方面的BUG,尽量附图,图片更有说服力。其他信息:软件版本号,测试环境的要求,测试工程师的名字等等。

BUG标题,软件,版本号,操作系统,级别,测试工程师,重现步骤,预期结果,发现的问题,原因分析。一定要多测试几次,尽量少提交假的BUG。

12:对BUG保持跟踪。性能测试:做性能测试的时候,一定要考虑系统最繁忙的时候,假设的客户端一定要比实际可能的数好要大。测试性能主要监控下列指标:响应速度,吞吐量,CPU占用率,占用内存数和内存占用率






阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页