14
October 27, 2014 Sam Siewert SE420 Software Quality Assurance Lecture 10 System Test and Process Improvement http://dilbert.com/strips/comic/2005-08-05/

SE420 Software Quality Assurancemercury.pr.erau.edu/~siewerts/se420/documents/Lectures/Fall-14/...Assignment #4 Due 10/25, ... Line 124 and 160 Sync Up Again . ... Usability and HCI

  • Upload
    lamanh

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

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