您的位置:首页 > 其它

软件测试第三周 - 等价类划分 2

2015-03-29 16:35 316 查看

等价类划分的应用 2

在上一个等价类划分 demo 的基础上由一个 textField 变为三个

将上次的检验函数 isValid 更改为由正则表达式判断的 textCheckWithRegax 函数

正则表达式 [A-Za-z0-9]{1,6}

测试过程中三个皆不符合时没有提示信息,检查半天发现把 if 里的判断条件 "=="写成了"&&".......犯了低级错误.......

if (validity1 == false && validity2 && false && validity3 == false){

message = [NSString stringWithFormat:@"三个输入框均不符合要求"];

}


测试用例

编号第一个输入框第二个输入框第三个输入框输出
1nullnullnull三个输入框均不符合要求
2abc123ab112三个输入框均符合要求
3abc..123ab112第一个输入框不符合要求
4abc123..ab112第二个输入框不符合要求
5abc123ab112.第三个输入框不符合要求
6abcadlsfkja123ab112第一个输入框不符合要求
7abcadlsfkja12312192ab112只有第三个输入框符合要求
8abcadlsfkja12312192ab112sfav三个输入框均不符合要求

测试结果截图



////  ViewController.m//  testApp////  Created by trigger on 15/3/22.//  Copyright (c) 2015年 trigger. All rights reserved.//#import "ViewController.h"@interface ViewController ()@property (strong, nonatomic) IBOutlet UITextField *textBox3;@property (strong, nonatomic) IBOutlet UITextField *textBox2;@property (strong, nonatomic) IBOutlet UITextField *textBoxText;- (IBAction)buttonPress:(id)sender;@end@implementation ViewController@synthesize textBoxText;@synthesize textBox2;@synthesize textBox3;- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.    [self textCheckWithRegex:@""];}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}- (IBAction)buttonPress:(id)sender {    BOOL validity1, validity2, validity3;    validity1 = [self textCheckWithRegex:textBoxText.text];    validity2 = [self textCheckWithRegex:textBox2.text];    validity3 = [self textCheckWithRegex:textBox3.text];    NSString *message;    if (validity1 == false && validity2 == false && validity3 == false){        message = [NSString stringWithFormat:@"三个输入框均不符合要求"];    }    else if(validity1 == true && validity2 == true && validity3 == true){        message = [NSString stringWithFormat:@"三个输入框均符合要求"];    }    else if(validity1 == false && validity2 == true && validity3 == true){        message = [NSString stringWithFormat:@"第一个输入框不符合要求"];    }    else if(validity1 == true && validity2 == false && validity3 == true){        message = [NSString stringWithFormat:@"第二个输入框不符合要求"];    }    else if(validity1 == true && validity2 == true && validity3 == false){        message = [NSString stringWithFormat:@"第三个输入框不符合要求"];    }    else if(validity1 ==  true && validity2 == false && validity3 == false){        message = [NSString stringWithFormat:@"只有第一个输入框符合要求"];    }    else if(validity1 == false && validity2 == true && validity3 == false){        message = [NSString stringWithFormat:@"只有第二个输入框符合要求"];    }    else if(validity1 == false && validity2 == false && validity3 == true){        message = [NSString stringWithFormat:@"只有第三个输入框符合要求"];    }        if ([textBoxText.text isEqualToString:@""] && [textBox2.text isEqualToString:@""] && [textBox3.text isEqualToString:@""]){        message = [NSString stringWithFormat:@"三个输入框均不符合要求"];    }    [[[UIAlertView alloc]initWithTitle:@"等价类检查" message:message delegate: nil cancelButtonTitle:@"好的" otherButtonTitles:nil, nil]show];}- (BOOL)textCheckWithRegex:(NSString*)str{    NSString *searchText = [NSString stringWithString:str];    NSError *error = NULL;    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[A-Za-z0-9]{1,6}" options:NSRegularExpressionCaseInsensitive error:&error];    NSTextCheckingResult *result = [regex firstMatchInString:searchText options:0 range:NSMakeRange(0, [searchText length])];    searchText = [searchText substringWithRange:result.range];    if ([str isEqualToString:searchText] && ![str isEqualToString:@""]) {        return true;    }    else{        return false;    }}@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: