软件测试第三周 - 等价类划分 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:@"三个输入框均不符合要求"]; }
测试用例
编号 | 第一个输入框 | 第二个输入框 | 第三个输入框 | 输出 |
---|---|---|---|---|
1 | null | null | null | 三个输入框均不符合要求 |
2 | abc | 123 | ab112 | 三个输入框均符合要求 |
3 | abc.. | 123 | ab112 | 第一个输入框不符合要求 |
4 | abc | 123.. | ab112 | 第二个输入框不符合要求 |
5 | abc | 123 | ab112. | 第三个输入框不符合要求 |
6 | abcadlsfkja | 123 | ab112 | 第一个输入框不符合要求 |
7 | abcadlsfkja | 12312192 | ab112 | 只有第三个输入框符合要求 |
8 | abcadlsfkja | 12312192 | ab112sfav | 三个输入框均不符合要求 |
测试结果截图
//// 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
相关文章推荐
- 软件测试(3)-基于等价类划分的一个小例子
- 软件测试第三周之测试多个输入的合法性
- 【软件测试】等价类划分
- 软件测试:等价类划分-----EditBox问题增加文本框
- 软件测试用例方法——等价类划分法
- 软件测试方法_等价类划分法
- 软件测试第三周作业——测试多个输入的合法性
- 【软件测试】等价类划分(Equivalence partitioning)
- 软件测试第二周 - 等价类划分
- 软件测试----等价类划分
- 软件测试学习随笔(2) 等价类划分
- Rickie的软件测试学习笔记-第三周
- 软件测试之黑盒测试(等价类划分,边界值分析,判定表驱动)
- 【软件测试】黑盒测试技术——等价类划分和边界值分析
- 软件集成、确认和系统测试方法
- “测试驱动的软件开发”,与测试无关
- 一个软件测试工程师的加班经历
- 软件测试的重要环节:Bug管理流程
- 关于软件测试
- 软件测试的组织与管理