What does QA mean to Sakai? Megan May – Sakai Foundation Aaron Zeckoski – CARET Alan Berg – UVA David Horwitz – Cape Town Seth Theriault- Columbia Linda.

Slides:



Advertisements
Similar presentations
1 Perspectives from Operating a Large Scale Website Dennis Lee VP Technical Operations, Marchex.
Advertisements

By Rick Clements Software Testing 101 By Rick Clements
Configuration management
Configuration management
Configuration Management
Performance Testing - Kanwalpreet Singh.
8th Sakai Conference4-7 December 2007 Newport Beach What does Quality Assurance Mean to Sakai? Alan Berg Megan May Seth Theriault.
Testing and Quality Assurance
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Test Long and Prosper presented by Janet Gray July 26, 2005.
VoIP: Full Lifecycle Management Russell M. Elsner APM Technology Director OPNET Technologies, Inc.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Documentation Testing
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
Computer Science 162 Section 1 CS162 Teaching Staff.
Illinois Institute of Technology
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
CBIIT Quality Assurance Process Preston Wood NCI CBIIT Government Quality Representative (GQR) January 2014 RS.
Types and Techniques of Software Testing
Agile Testing with Testing Anywhere The road to automation need not be long.
Sakai Community Performance Testing Working Proof of Concept Sakai Performance Working Group Linda Place, Chris Kretler, Alan Berg Universities of Michigan.
Test Design Techniques
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Terms: Test (Case) vs. Test Suite
From 3 weeks to 30 minutes – a journey through the ups and downs of test automation.
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Towards Further Automation of the Quality Assurance Cycle Alan Berg: University of Amsterdam Central Computer Services (IC)‏ Group Education and Research.
Software Testing Life Cycle
Introduction Telerik Software Academy Software Quality Assurance.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Understand Application Lifecycle Management
Testing in Extreme Programming
1 Lecture 19 Configuration Management Software Engineering.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
What is Sakai QA? Alan Berg, Interim QA Director, Sakai Foundation Anthony Whyte, Release manager, Sakai Foundation Aaron Zeckoski, Software Engineer,
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Sakai Best Practices Alan Berg, Interim QA Director, Sakai Foundation Aaron Zeckoski, Software Engineer, Unicon and Maint Team Lead, Sakai.
Quality Assurance in Sakai Past, Present and Future
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Kuali Rice at Indiana University From the System Owner Perspective July 29-30, 2008 Eric Westfall.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Service Level Agreements Service Level Statements NO YES The process of negotiating and defining the levels of user service (service levels) required.
What is Testing? Testing is the process of finding errors in the system implementation. –The intent of testing is to find problems with the system.
Visual Studio 2005 Team System: Enabling Better Software Through Testing Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Automated Testing in Sakai Testing applications and services in isolation and in context Josh Holtzman, UC Berkeley David Haines, University of Michigan.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Sakai Quality Assurance Workshop. What is software Quality Assurance? Involves the practice of planning, analysis and test execution of software components.
CS 160 and CMPE/SE 131 Software Engineering April 12 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
HPHC - PERFORMANCE TESTING Dec 15, 2015 Natarajan Mahalingam.
Configuration Management
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
SOFTWARE TESTING OVERVIEW
Chapter 9, Testing.
Configuration Management
Applied Software Implementation & Testing
Lecture 09:Software Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
CSE 303 Concepts and Tools for Software Development
DAT381 Team Development with SQL Server 2005
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software System Testing
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

What does QA mean to Sakai? Megan May – Sakai Foundation Aaron Zeckoski – CARET Alan Berg – UVA David Horwitz – Cape Town Seth Theriault- Columbia Linda Place – U of M

2 Today’s Session What is QA? Unit/integration testing Static code review Release/Branch management QA server network QA WG Performance testing

3 What is quality assurance? What is the role of the QA Director? the set of planned and systematic actions necessary to provide appropriate confidence that a product or service will satisfy the requirements for quality.

Unit/Integration Tests Aaron Zeckoski

5 Test Driven Development Create the Class/API -> Write the Test -> Program the Implementation -> Run the Test Forces you to use your own method (and hopefully check if it is intuitive to use) Requires an immediate check against the javadoc (API) Makes the developer think about how the method will work and what it does BEFORE they write any code

6 Bug fix test cases When there is an issue created against your code you should create a test case to test for that specific failure before you fix it These steps –Create a test case which fails as indicated in the issue from the issue tracker (JIRA) –Reference the JIRA URL in the comment for the test case –Run the test and make sure it fails –Fix the problem –Rerun the test to make sure it passes –Now you are safer from regressions

7 Tests vs. Code Review Static code review is valuable and helpful Peer code review is more valuable Neither is a substitute for unit testing and integration testing though Why? –They do not provide for protection from regression –They do not supply the context that tests do Tests show how to use the code and provide a type of documentation

Static Code Review Alan Berg

9 Static Code Review Functional testing –Guarantees a minimum quality –Black box looks from the outside in –Does not cover all the code –Labor intensive –Does not totally scale as the code base scales

10 Static Code Review Static Code Reviews –Looks at the source code not a running instance –White box, looks from the inside out –Looks through all the code base once a day –Automated –Steps over commit boundaries –Information overload –Requires the right mentality from the community –Need to eat the bugs with little fuss

11 TOUR qa1-nl.sakaiproject.org/codereview/bug_dashboard/index_generic.html

12 TOUR qa1-nl.sakaiproject.org/codereview/bug_dashboard/index_generic.html

13 Source code 13

14 Evolutionary 14 Using PMD, Findbugs, QJ Pro, Jlint and custom Perl code Tools getting better Findbugs does not have many False positives PMD has configurable rules More shaping the information to avoid information overload Engaging in debate on how to deal with bugs Need to change developers perceptions

15 Other 15 Code coverage Automatic removal of simple bug types script Tracking of long term use of memory Provisioning for performance testing More to come

Branch/Release Management

17 Branch Management & Enlightened Self interest Why would we want to be branch managers? –first to go to 2.5.x –wanted a say in ensuring a high quality branch for production –Its not actually a big overhead outside of the release cycle

QA Server Network Seth Theriault David Horwitz

19 QA Server Network Amsterdam Boston U Cambridge Cape Town Columbia Indiana rSmart Georgia Tech Charles Sturt U Coming soon - server in Japan

20 Running a qa server What you need: –a computer –a network connection –a database –know how to compile and install Sakai Initial setup –Build server

21 Running a qa server Updating and maintenance –downloading source –build deploy –upgrade data (maybe)‏ –usually once a week during release

QA WG

23 Collab JIRA Confluence ay/QA/Home WG Tools

Sakai Performance Testing Current model and limitations Desired model and benefits Dr. Linda M Place, University of Michigan

25 Talking Points Current model –Black box testing –Performance failure debugging and fixing Desired model –White box testing –White box testing with baseline load –Minimize production performance failures

26 Black Box Testing Black box testing –Running system with projected use-case scenarios for acceptable throughput and response times How will users experience application? –Baseline comparison Throughput and response times compared against previous version test results Looking for as good as or better results from new version –Typically occurs at end of QA process

27 Qualities Being Tested Push application load against a system to identify quality of performance –Transaction response time for end users –Throughput (hits per second) –Reliability (percentage of failed transactions) –Scalability (what happens when scale increases significantly) –Capacity (upper limits of system)

28 Results Are metrics being met? –Measures of success Current Sakai test metrics –Baseline or better response times and throughput –New transactions do not disrupt baseline metrics –New transaction stress tests How many occurrences before system becomes unusable?

29 Failed Performance Debugging Designing isolated tests to address obvious performance problems in production code –Use tests to isolate performance cause –Use tests to verify fix before adding to production instance Putting out fires

30 White Box Testing Pushing system to identify application, database, operating system, or network problems –Tune environment to identify and address specific problems –Tests watched by developers, DBA, system and network administrators, and performance engineers Typically occurs during code development

31 Little in Sakai Today Developers may design performance tests as part of development –Process not codified as required standard for development –Most developers do not have a system of sufficient scale to push code adequately –All components of production environment not used and monitored Developers; database, system & network administrators; performance engineer

32 Value to Sakai Adding white box testing into Sakai QA process finds and fixes numerous performance problems before they reach formal QA process Engages Operations team early in development cycle rather than after performance problem affects user community Debugging easier prior to full integration with application suite

33 Want White Box Testing? Stay in room for next session –Sakai Community Performance Testing: A Working Proof of Concept Participate in community model to improve your code prior to subjecting it to QA Don’t expect someone else to identify and fix your codes performance shortcomings

34 Questions