软件测试笔试题

1.现在有一个需求需要测试,你怎么设计测试方案

根据需求文档,评估测试工作量,根据项目计划和开发计划做整体的测试安排如测试开始时间及测试预估所需时间;

写该需求所需测试的特性,根据需求规格说明书,列出本次所需测试的测试特性,列出完成后需与开发同事和产品同事交流,确定不遗漏本次所需测试的特性;

测试环境搭建,对该项目所需支持的测试环境确定好,如果环境有问题,与运维同事对接。

测试完成后,编写测试报告,对于测试不通过的特性,需注明原因及影响范围。

2.TCP/IP通信协议流程,简要描述一下三次握手建立连接和四次握手断开连接。

(一)三次握手建立连接

(1)首先服务器端进行初始化,由最初的closed状态顺序调用socket、bind、listen后进入listen状态;

(2)客户端进行初始化,由最初的closed状态顺序调用socket、connect主动连接服务器套接字进入SYN_SENT状态(向服务器发送将SYN置为1的同步数据段);

(3)服务器接收到SYN后向客户端发送将SYN置为1的同步数据段和ACK置为1的确认数据段,此时服务器进入SYN_RECV状态;

(4)客户端收到服务器的SYN同步数据段和ACK确认数据段之后进入ESTABILSHED

四次挥手解析如下:

(1)数据传输结束后,客户端的应用进程先向其TCP发出释放连接请求,不在发送数据。TCP通知对方要释放从客户端到服务器的连接,将发往主机服务器的TCP报文段首部的终止比特FIN置为1,序号u等于已传送数据的最后一个字节的序号加1

(2)服务器的TCP收到释放连接通知后发出确认,其序号为u+1,同时通知应用进程,这样客户端到服务器的连接就释放了,连接处于半关闭状态。服务器不在接受客户端发来的数据;但服务器还向客户端发送数据,客户端若正确接收数据仍需要发送确认;

(3)在服务器向客户端的数据发送结束后,其应用进程就通知TCP释放连接。服务器发出的连接释放报文段必须将终止比特置为1,并使其序号w等于前面已经传送过的数据的最后一个字节的序号加 1,还必须重复上次已发送过的ACK=u+1;

(4)客户端对服务器的连接释放报文段发出确认,将ACK置为1,ACK=w+1, seq=u+1。这样才把从服务器到客户端的反方向连接释放掉,客户端的TCP再向其应用进程报告,整个连接已经全部释放。

3.单元测试、集成测试、系统测试的侧重点是什么?

单元测试的侧重点是内部逻辑的正确性。集成测试的侧重点是与外部的衔接是否正确。系统测试的侧重点是整个系统的流程是否通畅。

4.一个缺陷测试报告的组成有哪些

缺陷编号、操作、结果、预期结果、错误原因、如何修复

5.软件测试的对象包括哪些

源程序、目标程序、数据及相关文档

6.白盒测试和黑盒测试分别有哪些

黑盒测试的测试方法有:等价类划分、边界值分析法、猜错法、随机数法、因果图,正交实验法

白盒测试的测试方法有:代码检查法、程序变异、静态结构分析法、静态质量度量法、符号测试法、逻辑覆盖法、域测试、Z路径覆盖和基本路径测试法

7.进程间通信的方法有哪些

  • 管道(Pipe)及有名管道(namedpipe):

    管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;

  • 信号(Signal):

    信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数);

  • 报文(Message)队列(消息队列):

    消息队列是消息的链接表,包括Posix消息队列systemV消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

  • 共享内存:

    使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。

  • 信号量(semaphore):

    主要作为进程间以及同一进程不同线程之间的同步手段。

  • 套接口(Socket):

    更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和SystemV的变种都支持套接字。

8.软件质量三层次

  • 符合需求规格:符合开发者明确定义的目标,即产品是不是在做让它做的事情。目标是开发者定义的,并且是可以验证的。
  • 符合用户显式需求:符合用户所明确说明的目标。目标是客户所定义的,符合目标即判断我们是不是在做我们需要做的事情。
  • 符合用户实际需求:实际的需求包括用户明确说明的和隐含的需求。

待续。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值