Chapter 8&9 System Testing and User Acceptance Testing 322235 Software Testing By Asst.Prof.Dr. Wararat Songpan(Rungworawut) Department of Computer Science, Faculty of Science, Khon Kaen University
Requirements Specification System Testing User Acceptance Testing Requirements Specification System Testing Preliminary Design Integration Testing Detailed Coding Unit Testing Coding
System Testing The behavior of whole system/product is tested as defined by the scope of the development project or product. System testing is most often the final test to verify that the system to be delivered meets the specification and its purpose. System testing is carried out by specialists testers or independent testers. System testing should investigate both functional and non-functional requirement of the testing.
Type of System Testing Functional Testing Non-Functional Testing Unit Testing (Black box & White box) Integration Testing (Black box & White box) System Testing (Black box) Acceptance Testing (Black box) Regression Testing (Black box & White box) Non-Functional Testing Usability Testing Performance Testing/Load Testing Stress Testing Security Testing Compatibility Testing
Entry Criteria for System Testing Unit Testing should be finished. Integration of modules should be fully integrated. The specification document software development is completed. Testing environment is available for testing (Similar to Staging environment)
How to do System Testing Step 1) First & important step is preparation of system Test plan Step 2) Second step is to creation Test Scenario&test cases. Step 3) Creation of test data which used for System testing. Step 4) Manual/Automated test case execution. Step 5) Bug reporting & verification Step 6) Repeat testing & Regression testing (if required).
System Testing Document: Test Scenario & test cases. Test Scenario: This is a brief story about the flow/path followed by the system/application under test to achieve a business process flows that is a document describe the input, Action/Event and expected response to determine whether the particular functionality of the application is working fine.
Example of Test Scenario 1. Input UserName and Password 2. Click Log In 3. Show message “Welcome to UserName”
Test Scenario Design Test Scenario ID: TS_Login Step Test Action Expected Results Pass/Fail Approval 1 Input User and Password User and Password is not more than 6 characters Pass Ok 2 Click Log In Log In Button is ok 3 Popup Message “Welcome to UserName” Show Message “Welcome to UserName” Fail
Test Scenario & Test case Design (Combination) Test Scenario ID: TS_Login Test ID Test Action&Test case Expected Results Pass/Fail Approval Login01 Input User: wararat Input Password: comsci Click Log In Show Message Welcome to wararat Pass Ok Login02 Input User: Login page is not display Login03 Input User: wararat Input Password: 2. Click Log In Login04 Input User: wararat2 Input Password: wararat
Example: Apartment System step1
Example: Apartment System step2 step3
Example: Apartment System step4
Test Scenario Design of Apartment System Test Scenario ID: TS_Connect Database (Style 1) Test ID Test Action &Test case Expected Results Pass/Fail Approval Connect_DB01 กดปุ่ม Connect Database แสดงหน้าค้นหาไฟล์ Connect Database Pass Ok กด browse Access database File แสดงหน้า window เพื่อค้นหาไฟล์ .mbd 3. open path C:\Program Files (x86)\Nanosoft Apartment.NET 5.9 Monthly Standard\Data\NanosoftApartment5.95.mdb Path อยู่ในช่อง access database file ชื่อ C:\Program Files (x86)\Nanosoft Apartment.NET 5.9 Monthly Standard\Data\NanosoftApartment5.95.mdb 4. กรอกข้อมูล 001 Admin password: 1234 วันที่ทำการ: 1/1/2559 Show Message Welcome to Nanosoft Apartment.NET 5.9 Monthly
Test Scenario Design of Apartment System Test Scenario ID: TS_Connect Database (Sytle 2) Test ID Test Action&Test case Expected Results Pass/Fail Approval Connect_DB01 กดปุ่ม Connect Database กด browse Access database File open path C:\Program Files (x86)\Nanosoft Apartment.NET 5.9 Monthly Standard\Data\NanosoftApartment5.95.mdb กรอกข้อมูล 001 Admin password: 1234 วันที่ทำการ: 1/1/2559 แสดงข้อความ Welcome to Nanosoft Apartment.NET 5.9 Monthly Pass Ok
Test Scenario Design of Apartment System Test Scenario ID: TS_Connect Database (Sytle 2) Test ID Test Action&Test case Expected Results Pass/Fail Approval Connect_DB02 กดปุ่ม Connect Database กด browse Access database File open path C:\Program Files (x86)\Nanosoft Apartment.NET 5.9 Monthly Standard\Data\NanosoftApartment5.95.mdb กรอกข้อมูล 001 Admin password: 12345 วันที่ทำการ: 1/1/2559 รหัสผ่านไม่ถูกต้องโปรดตรวจสอบ Pass Ok
Requirement Validation Matrix TC 001 TC 002 TC 003 TC 004 TC 005 TC 006 TC 007 Req_01 Req_02 Req_03 Req_04
Traceability Requirement to System Testing Requirement of Hotel Reservation System 1. Login 2. Reserve Booking 3. Manage Booking 4. Payment Requirement No. Requirement Description Test Scenario ID Test Case ID Status Req_01 Login TS001 TC001, TC002, TC003, TC004 Fail Req_02 Reserve Booking TS002 TC005 Pass Req_03 Manage Booking TS003 TC006 Req_04 Payment TS004 TC007
Example: Requirement Validation Matrix Tool Ref: http://www.lifeheed.com/article.php?article=72
Non-Functional Testing Usability Testing Performance/Load Testing Stress Testing Recovery Testing Security Testing Compatibility Testing
Usability Testing Usability means the software s capability to be learned and understood easily and how attractive it looks to the end user. Testing tools http://www.conceptfeedback.com Google Analytics Google Website Optimizer
Example of http://www.conceptfeedback.com
Performance Testing/Load Testing Performance Testing is done to determine the software characteristics like response time, throughput or MIPS (Millions of instruction per second) / virtual users at which the system/software operates. Testing Tools Microsoft Visual Studio 2008 and above Load2Test Site Blaster Pilot Testinganywhere Neoload webpagetest http://www.wpexplorer.com/testing-wordpress-performance-speed/
Example of Performance/Load Testing tool
Stress Testing Testing of software/hardware for its effectiveness in giving consistent or satisfactory performance under extreme and unfavorable conditions such as heavy network traffic, heavy processes load, under or over clocking of underlying hardware, working under maximum requests for resource utilization of the peripheral or in the system. Testing Tools Microsoft Visual Studio 2008 and above. Load2Test Site Blaster Pilot
Security Testing Security is all about finding out all the potential loopholes and weakness of the system, which might result into loss/theft of highly sensitive information or destruction of the system by an intruder/outsider. Testing tools Web Scarab Wire Shark
Example of Security Testing tool
Compatibility Testing Compatibility Testing is a type of testing used to ensure compatibility of the system built with various other objects such as other web browsers, hardware platforms, user and operating system. Testing Tools http://browsershots.org/ Adobe Browser Lab Super Preview
Example of Compatibility Testing tool
Example of Compatibility Testing tool
User Acceptance Testing(UAT) Requirements Specification System Testing Preliminary Design Integration Testing Detailed Coding Unit Testing Coding
User Acceptance Testing(UAT) User Acceptance Testing (UAT) is the software testing process where system tested for acceptability & validates the end to end business flow. Such type of testing executed by client in separate environment (Similar to production environment) & confirm whether system meets the requirements as per requirement specification or not. Acceptance Testing is “Black Box” tests. UAT does not aware of internal structure of the code.
(Operating in Production) Environment Setup Same input System (Operating in Production) New System (As a run test) Output Output Match No Yes Defect analysis Installation
Type of Acceptance Testing As the software application may use different users on different way. End user will use and how customer actually use the software application. Most of software venders are use the term: Alpha testing Beta Testing
Alpha Testing Alpha Testing is conducted by Customer at the developer s site. It is performed by potential users like developer, end users or organization users before it is release to external customer & report the defect found while Alpha Testing.
Beta Testing The beta testing is to be carried out without any help of developers at the end of user site by the end user. It is performed under uncontrolled environment. This testing is conducted by limited users & all issues found during this testing are reported on continuous basis which help to improve the system. The is last stage of the testing where product is sent outside the company of for trial offer to download.
How difference Alpha & Beta Testing Alpha Testing During Development Beta Testing Customer-end Site
Example: Beta Testing
Example: Beta Testing
Example: Beta Testing
Requirements Specification Regression Testing User Acceptance Testing Requirements Specification System Testing Regression Testing Preliminary Design Integration Testing Detailed Coding Unit Testing Coding
Regression Testing Regression Testing is one of the most importance type of software testing, in which it checks whether a small change in any component of the application does not affect the unchanged component.