其他分享
首页 > 其他分享> > 【测开面经】

【测开面经】

作者:互联网

1.http和https区别,SSL

https=http+SSL

HTTPS的优缺点
优点:
(1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
(2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
(3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
缺点:
(1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
(3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
(4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。
TSL/SSL协议
传输层协议,使用了非对称加密、对称加密以及hash散列算法。

2.生产者消费者

item B[k];
semaphore enpty,empty=k;
semphore full, full=0;
semphore mutex,mutex=1;
int in=0;
int out=0;
begin
process produce
{
    while(true)
    {
        P(empty);
        P(mutex);
        produce();
        apeend to B[in];
        in=(in+1))%k;
        v(mutex);
        V(empty)
    }
}
process customer
{
    while(true)
    {
        P(full);
        P(mutex);
        take() from B[out];
        consumer();
        out=(out+1)%k;
        V(mutex);
        V(full);

    }
}

3.语句覆盖、分支覆盖、路径覆盖、条件覆盖

测试用例:测试脚本+既定输入+正确输出
白盒测试:基于程序的数据结构和控制逻辑而执行的测试。又称为结构性测试。
语句覆盖:使程序中每个可执行语句至少执行一次。
由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的。如在多分支的逻辑运算中无法全面的考虑。语句覆盖是最弱的逻辑覆盖。
判定覆盖:程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。
往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。
条件覆盖:使每个判断中每个条件的可能取值至少满足一次。
条件覆盖不一定包含判定覆盖。例如,我们刚才设计的用例就没有覆盖判断M的Y分支和判断Q的N分支。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。
判定-条件覆盖:判断条件中的所有条件可能至少执行一次取值,同时,所有判断的可能结果至少执行一次。
判定/条件覆盖准则的缺点是未考虑条件的组合情况
条件-组合覆盖:使得所有可能的条件取值组合至少执行一次。
线性地增加了测试用例的数量
路径覆盖:覆盖程序中的所有可能的执行路径

黑盒测试:基于程序的功能描述而执行的测试
等价类划分:根据程序规格说明书对输入范围进行划分,把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集,称为等价类,然后从每个等价类中选取少数具有代表性的数据作为测试用例,进行测试。
- 有效等价类:检验程序是否实现了规格说明预先规定的功能和性能
- 无效等价类:检查软件功能和性能的实现是否有不符合规格要求的地方
边界值分析法
输入变量的最小值(min),稍大于最小值(min+),域内任意值(nom),稍小于最大值(max-),最大值(max)
健壮性边界值分析
取min,min+,nom,max-,max五个边界值外,还要考虑采用一个略超过最大值(max+)以及一个略小于最小值(min-)的取值,看看超过极限值时系统会出现什么情况。
因果图
决策表:决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。

单元测试:又称模块测试,是指测试一个代码单元,以发现其中的逻辑、算法和数据结构等方面的缺陷。
集成测试:测试当多个代码模块集成为子系统之后所表现出的整体功能
系统测试:依据既定需求规约文档验证软件系统的功能特征、特别是它的质量属性。
性能测试 :在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求。
- 时间特性,响应及处理时间,吞吐率
- 资源利用性
- 效率依赖性
内容

标签:测开,加密,覆盖,证书,面经,SSL,测试,浏览器
来源: https://blog.csdn.net/binglu1841/article/details/118720478