Stress Testing

advertisement
Testing type and Plan
Apirada Thadadech
Contents
• Who is it Really for?
• Testing Type
– Test Cases
– Unit Testing
– Integration Testing
– Systems and Acceptance Testing
• Function verification test focus areas
• System verification test focus areas
Who is it Really for?
• Who?
• Test Plan : It represents a testing strategy
base on the best knowledge available at the
project start.
Testing Strategy
unit test
integration
test
system
test
Acceptance
test
Unit Testing
- ทดสอบหน่วยย่อยของโปรแกรมที่แยกกันโดย
เด็ดขาดโดยอาจถือว่าหนึ่งหน้าจอคือหน่วยย่อยก็ได้ โดยทดสอบทั้ง
แบบ Black Box หรื อ White Box
• Unit Test
Unit Testing
•Module Testing
@ Test ทีละ Module
@ ไม่ยงุ่ กับ Module อื่นๆ
•Test ทีละ Component
@ Function
@ Procedure
• ไม่มี Response อื่นมาเกี่ยวข้อง
Unit Testing
module
to be
tested
results
test cases
software
engineer
Unit Testing
module
to be
tested
interface
local data structures
boundary conditions
independent paths
error handling paths
test cases
Unit Testing
white-box
black-box
methods
methods
Methods
Strategies
Unit Testing Strategies
• One possible approach that could be used
for unit testing is to integrate testing
• There are 3 unit testing strategies
– Top-down unit testing
– Bottom-Up unit testing
– Isolation unit testing
Top-down unit testing
A
Testes
B
C
Testes
D
Under Test
Testes
E
Stub
H
I
G
F
Stub
J
Stub
Bottom-Up unit testing
A
Driver
B
C
D
Under Test
E
Tested
H
G
F
Tested
I
Tested
Tested
J
Tested
Tested
Isolation unit testing
A
Driver
B
C
D
Under Test
E
Stub
H
I
G
F
Stub
J
Stub
Test Cases
• Test case is defined as:
– A set of inputs, execution preconditions
and expected outcomes developed for
particular objective
• Are sometime referred to as
– Positive == test-to-pass
– Negative == test-to-fail
Test case :
is designed with 2 different objectives in mind
– To verify that a software system conforms to
its specifications
– To detect errors in software by designing test
case in negative
Test case execution steps
• Example
Detailed Test Procedure
Start the program
Type 2346348….press OK
Click on the withdraw button
When the withdraw window opens, enter $200 ….press OK
Expect to see confirm massage “you are withdraw $200?
Expect to see a new account balance of $400.95
Exit the program using the file/ exit option on the menu
Overview Test Procedure
Overview Test Procedure
Start the Program
Select account 2346348
Withdraw $200 from the account
Check the new balance is $400.95
Use Case Model for Hotel System
Enter
Reservation
Record
Reservation
Check out
Record
Check in
Hotel
Clerk
Record
Check out
Record
Walk-in
Check in
Black-Box Test Case Model of Hotel System
Guest name
Black
Reservation date
Check in date
Box
Room Number
Late check out time
Check out date
Room
Rate
Data
store
Reservation
Confirmation
Charge
White-Box Test Case Model of Hotel
System
If (late_checkout_time<>”None”)
If (late_checkout_time > expected_checkout_time
and late_checkout_time <= latest_checkout_time)
Expected_checkout_time = late_checkout_time
If (checkout_ time > expected_checkout_time or
checkin_date == today)
No_of_nights = no_of_nights+1
Test Case design Techniques 1
• Black-Box test case designed Black-Box test case
designed
– Without any knowledge on internal or structure
– Base on the same specification that use to
develop the software
– By who are independent from the development
team
Design
Test
Cases
CODE
TEST
Test Case design Techniques 2
• White -Box test case designed Black-Box test
case designed
– With full knowledge of internal working and structure
– After Software development is complete
Code
Design Test
Cases
Test
Test Case Coverage
• Functional Test case design and
“Test First”  applied to black-box
Some unrealistic goals for black-box
coverage include:
– All possible values of inputs and outputs
– All combinations of inputs and outputs
– All sequences of internal state changes
Test Case Coverage
• Functional Test case design and
 applied to black-box
“Test First”
More realistic goals for black-box coverage include:
– Ranges of equivalent values of inputs and outputs
– Boundary values of inputs and outputs
– Rules linking inputs and outputs
– short sequences of internal state changes
Test Case Coverage
• Functional Test case design and
“Test First”  applied to White-box
Some unrealistic goals for White-box
coverage include:
– All program statements
– All possible logical paths
Test Case Coverage
• Functional Test case design and
applied to White-box
“Test First” 
More realistic goals for White-box coverage include:
– Executable, atomic and reachable statement
– Program braches
– Decisions
– Conditions
– Independent logical paths
Integration Testing
• Sub-System Testing
• Test Module ที่เกีย่ วข้ องกัน
• ระวังการ Interface ระหว่ าง Module
• Test การเชื่อมต่ อแต่ ละโมดูล
Integration Testing
• Top-down Testing
• Bottom-up Testing
• Isolation Testing
• Stress Testing
• Incremental Testing
•Back to back Testing
Stress Testing
เป็ นการทดสอบความสามารถการประมวลผลของ
ระบบซอฟต์แวร์ ภายใต้สถานะการณ์วิกฤติ ทดสอบ
พฤติกรรมการ Fail ของระบบ เมื่อมีอะไรมากระทบ
• Soft Fail
• Hard Fail
Stress Testing
มั ก นิ ย มใช้ ท ดสอบกั บ ระบบประมวลผลแบบ
กระจาย บนระบบเครื อข่ายคอมพิวเตอร์ เพราะข้อจากัด
ของระบบเกี่ ย วพัน กับ ปริ มาณการส่ ง ข้อ มู ล ระหว่า ง
คอมพิวเตอร์ ถ้าปริ มาณข้อมูลมากเกิ นไปอาจส่ งผลให้
เครื อข่ายทางานช้าลง หรื อล้มเหลว
Incremental Testing
• นิยมนามาใช้ทดสอบการดาเนินงานร่ วมกันระหว่างองค์ประกอบย่อย
ในระบบ เป็ นการเพิ่ม Module ที่ Test แล้วมาไว้รวมกัน
• เนื่ องจากการทดสอบแต่ละโมดูลไม่สามารถดาเนิ นการได้โดยลาพัง
จึงต้องทางานร่ วมกับ
• Driver module เป็ นโมดูลหุ่ นทาหน้าที่ควบคุม หรื อเรี ยกใช้โมดูลที่
ต้องการทดสอบ
• Stub module ทาหน้าที่เป็ นโมดูลย่อยหรื อโมดูลที่ถูกเรี ยกใช้โดยโมดูล
ที่ถูกทดสอบ
Incremental Testing
Driver
Module to be
tested
Stub
Stub
Test case
Results
Back to back Testing
ใช้ท ดสอบซอฟต์แ วร์ ที่ มี ห ลายรุ่ น (version)
โดยซอฟต์แวร์ รุ่นใหม่ยงั คงมี ความสามารถครอบคลุม
รุ่ น เก่ า ยุท ธวิ ธี น้ ี จะน าผลลัพ ธ์ ที่ ไ ด้จ ากการประมวล
ซอฟต์ แ วร์ แ ต่ ล ะรุ่ นมาเปรี ยบเที ย บกั น เพื่ อ ค้น หา
ข้อบกพร่ อง โดยใช้ขอ้ มูลชุดเดียวกันในการทดสอบ
System Testing
• Test ทั้งระบบ รวมกันทั้งหมดทุกส่ วนแล้ว Test
( รวม Sub-system ต่างๆเข้าด้วยกัน )
Acceptance Testing
• Test จาก Data จริ งๆ ของลูกค้า
• ตรงกับ System Requirement Definition หรื อไม่
ค่าตาแหน่ง
ทางวิชาการ
…
ค่าล่วงเวลา
เย็น
การเงิน
System
เงินเดือน
SubSystem
…
เสาร์ , นัก โสด
อาทิตย์ ขัตฤกษ์
ภาษี ณ ที่จ่าย
สมรส หย่ าร้ าง
Module
Unit
Sample test plan template
• Document Control
– Distribution
– Approvers/ Reviewers
– Change History
• Overview
– Project Summary
– Overall test goals &
Objective
• Test Environment
– Hardware Configuration
– Software Configuration
• Toll and Workloads
– Test Tools
– Base Workloads
• Administration
–
–
–
–
–
Test assumptions
Entrance & Exit Criteria
Problem reporting
Maintenance strategy
Deliverables
• Schedule
• Test Matrices and Scenarios
Example framework scenario
Title
RDBR0051:
Relational Database Software
Sever Failure
Objective:
Explore the failure and automated recovery of
database server software while a heavy transactional
workload is running
Test Scenario:
Set up an automation policy to restart the database
server software in the event of a failure.
Start a workload that executes transactions while read
and write to database.
Expected
Results:
When database server shutdown. Associated
transactions are backed out. Shared locks are
registered.
Function verification test focus area
• Mainline function
– Check the big thing that
software supposed to do เช่น
งานห้องสมุด สิ นค้าคงคลัง
• Security Support
–
–
–
–
Authentication
Authorization
Confidentiality
Integrity
• Software Interfaces
– Private module to Module
– Private Component to
Component
– Application Programming
Interface
– Human Interface
• Messages
• Limits condition testing
• Recovery
System verification test focus areas
•
•
•
•
•
Installation
Regression
Evolving Roles
Migration
Load/Stress
– CPU utilization percentage
– I/O path utilization
percentage
– I/O interrupts per second
– Number of simulate active
processes
• Security
• Hardware Interaction
– Timing loops base on
processor clock speed
– Network bandwidth
– Memory availability
– Multi-tasking on uniprocessor & multiprocessor
• Recovery
Stress and Load Tools
There are problems about available memory and disk space when the system
run many programs in the same time, such as running word processing and
copy file to fill up .. and so on.
•
Stress Tool is the Stress program
•
Load Tool is similar to stress tool
allows you to individually set the
but it run on Web servers to load
amounts of memory. Disk space,
them down by simulating a set
files and other resources available
number of connections. Such as it
to the software running on the
checks that 10,000 simultaneous
machine.
users and 1 million hits a day can
be handled without showing
response times.
Download