Upload
lamanh
View
216
Download
0
Embed Size (px)
Citation preview
October 27, 2014 Sam Siewert
SE420
Software Quality Assurance
Lecture 10 – System Test and Process
Improvement
http://dilbert.com/strips/comic/2005-08-05/
Reminders
Assignment #4 Due 10/25, Late Due Date 10/27
Remaining Assignments [Top Down / Bottom-Up]
– #5 – Design, Module Unit Tests and Regression Suite
– #6 – Complete Code, Refine and Run all V&V Tests and Deliver
Track Bugs with Bugzilla - http://prclab.pr.erau.edu/
Import your Project Code into GitHub -
https://github.com/
Sam Siewert 2
System Test Integrate Sub-systems into System Configuration
Test Focus on End-to-End, Black-box Testing and Architecture
Validation, System Requirements Specification
Sam Siewert 3
Git Example – Use SSH Tunnel Set up your SSH key on PRClab and copy it to your key-ring on GitHub (described here too - https://help.github.com/articles/generating-ssh-keys/ ): – ssh-keygen -t rsa -C [email protected] [follow prompts as described on
web page above]
– ssh-agent –s [start ssh agent for your current login – do this on each login]
– cat ~/.ssh/id_rsa.pub [copy the output that should be something like “ssh-rsa ****************** [email protected]”, where ****’s are my encrypted key, so your’s will be unique and different
– got to github.com/siewertserau [replace with your github username]
– Go to “gear” configuration tool and add your SSH key, here:
Sam Siewert 4
note that I have erased portions of my keys for security
Git Example – SSH Cloning
Now that you have your SSH key generated on PRClab on your GitHub keyring, you can clone with SSH instead of the HTTPS clone – Now, for me, I just copied from the web page
and then issued the clone command on PRClab “git clone [email protected]:siewertserau/Examples-Imageproc-Unit-Test.git” and I’m prompted for my SSH passphrase now, which is great, and if I enter it correctly, I will get an SSH clone sandbox.
– It should look like this:
Sam Siewert 5
Use SSH PATH
Git Example – Sandbox Work Now edit your files, add files, build, test and when your
happy, do “git add *” to add any new files you copied into
your sandbox, and do a pull to make sure you are
current.
Now do “git commit –a” to commit the change set to your
clone sandbox and add a meaningful comment and after
do “git push”, which should look like:
Sam Siewert 6
Git Example – Browse Change History
Use Browse code and Side-by-side “Split” view to
Compare Old and New Versions of a file
Browsing Code Change History is One of the MOST
Powerful Features of CMVC
Sam Siewert 7
Binary File Example
Make changes, build, test and then commit and push
Now Run to Generate Chunk files
Sam Siewert 8
Git RAID Example - Browse
To See What I Changed, Browse
First, 4 New “+” Lines for Includes for Simple file I/O
Next, 2 New Lines to Declare Simple file Descriptors
Sam Siewert 9
Git RAID Example – Test Case Update
New Block of Binary Output for External Verification
Can “diff” and use “od –t x1” on files to Examine
Sam Siewert 10
Line 129 to 158 is New
Line 124 and 160 Sync Up Again
Basic Binary File Dump and Compare
Chunk1.bin, …, Chunk4.bin
are Data Files in 4+1 RAID-
5 Set
ChunkXOR.bin is the XOR
Parity File in the RAID-5
4+1
Chunk4_Rebuilt.bin is the
Recovered Data in Test
Case #0
Identical Chunks, so
XOR=0 Sam Siewert 11
Chunks Identical – XOR=0
Rebuilt Should Match any Chunk1.bin … Chunk4.bin
XOR is All ZERO’s
All is As Expected
Uninteresting Test Case, but Does Verify!
Simple to Transfer Binary Buffers to Binary Files
od –t –x1 shows Bytes as Printable ASCII HEX Codes
Sam Siewert 12
Test Types – Goals Today
Usability and HCI Testing – GUI, CLI, API
Performance Tests – Profiles and Traces
Workload Testing – Normal, Peak
Stress Testing – Accelerated Lifetime
Security Testing
Scalability Testing – Volume [Capacity, Nodes, Size]
Nightly Build and Smoke Test [Regression]
Installation Testing – Out of Box Experience
High Availability Recovery Testing
Mission Critical Fail Safe and FDIR Testing
Compatibility and Interoperability Testing
Sam Siewert 13
Discussion and Q&A
System Testing – Entrance Criteria [When is I&T Complete?]
– Of All Recognized System Test Types, Which are Critical to My Organization?
Wikipedia on System Test Types
Select Focus in System Testing Based on System Requirements and Product
– Exit Criteria
SQA Process – Documentation, Audits, Improvement
– Certification – E.g. ISO 9000, SEI CMM Levels 3 … 5, Etc.
– Is Process Documented? Repeatable? Can it Be Improved? Automated? Verifiable Criteria? [E.g. Code Coverage Tool Records]
– Does Certification Matter?
– Who Does Audits?
– Current Issue – How are Auditors Accountable?
Sam Siewert 14