Testing Tools in Alfresco

Slides:



Advertisements
Similar presentations
Topics to be discussed Introduction Performance Factors Methodology Test Process Tools Conclusion Abu Bakr Siddiq.
Advertisements

Performance Testing - Kanwalpreet Singh.
SPL/2010 Test-Driven Development (TDD) 1. SPL/
An open source QA stack testing tools for agile teams Presented by Aaron Evans
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
By SAG Objectives Cross platform QA Automation for web applications Scheduling the automation Automatically build the test scripts Generate the.
2004 Cross-Platform Automated Regression Test Framework Ramkumar Ramalingam, Rispna Jain IBM Software Labs, India.
Alternate Software Development Methodologies
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
EXtreme.NET Dr. Neil Roodyn. eXtreme.NET Who is Dr. Neil? MISSION: To increase the value of your Software Business Working with software for way too long.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Introduction to Software Testing
Types and Techniques of Software Testing
23 October 2002Emmanuel Ormancey1 Spam Filtering at CERN Emmanuel Ormancey - 23 October 2002.
Test Driven Development Derived from Dr. Fawcett’s notes Phil Pratt-Szeliga Fall 2009.
By Bob Bunson  Simulation of software development project  Fictitious system from Concept to Code  Oriented around the.
From 3 weeks to 30 minutes – a journey through the ups and downs of test automation.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Submitted by: Madeeha Khalid Sana Nisar Ambreen Tabassum.
Managing Software Quality
Background The Encyclopedio of Life (EOL) is an ROR open source project to create a free, online reference source and database for every one of the 1.8.
Testing Tools using Visual Studio Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation.
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
RUP Implementation and Testing
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
A Practical Guide To Unit Testing John E. Boal TestDrivenDeveloper.com.
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
ITGS Databases.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
XmlBlackBox The presentation Alexander Crea June the 15st 2010 The presentation Alexander Crea June the 15st 2010
HOW AND WHY TO LOVE CUCUMBER By Dana Scheider. Is This Your Programming Experience?
Copyright 2015, Robert W. Hasker. Continuous Inspection  Code reviews  Powerful tool  Difficult to ensure meaningful reviews take place  Static analysis.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Refactoring and Integration Testing or Strategy, introduced reliably by TDD The power of automated tests.
Automated Testing in Sakai Testing applications and services in isolation and in context Josh Holtzman, UC Berkeley David Haines, University of Michigan.
Test Driven Development Introduction Issued date: 8/29/2007 Author: Nguyen Phuc Hai.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Test Automation Steffen Goerlitz Barry Lange Mitchell Meerman Harry Schultz Trevor Spees.
© 2013 IBM Corporation Accelerating Product and Service Innovation Service Virtualization Testing in Managed Environments Michael Elder, IBM Senior Technical.
#SummitNow Super Size Your Search 14 th November 2013 Fran Alvarez (Zaizi)
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Testing Integral part of the software development process.
Bishnu Priya Nanda , Tata Consultancy Services Ltd.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Architecture in Practice
Software Testing.
Applied Software Implementation & Testing
Advantages OF BDD Testing
Continuous Performance Engineering
Continuous Automated Chatbot Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Agile testing for web API with Postman
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Bringing more value out of automation testing
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Mark Quirk Head of Technology Developer & Platform Group
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Testing Tools in Alfresco

About me Fran Álvarez Zaizi Iberia Director Keywords: ECM, Information retrieval, testing, semantic technologies Twitter: @fran7alvarez Email: falvarez@zaizi.com Skype: fjalvarezb

WARNING This presentation may contain technical content Manager discretion is advised

Index Testing concept Zaizi testing stack TDD in Alfresco Conclusions Challenges Ecosystem Continous Testing Advice Evolution TDD in Alfresco Conclusions

What is ‘Test’ A test is an assessment intended to measure a test- taker’s knowledge, skill, aptitude, physical fitness or classification in many other topics.

Test in Software Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.

Our measurement (aka Metrics) How well our code works How ‘well coded’ our code is How good our tests are How well the requirements are met How well our features responds to massively requests

Our assessment Different ways to measure: Border Line 100%-0% Acceptance criteria definition Example: 100% UT, 95% FT, 70% CC

Our test-taker…

…knowledge

The importance of testing Testing means: In architecture: The building where I live is not going to fall down In aeronautics: The plane where I’m traveling is not going to fall down In food industries: The food you are having is not going to cause you pain Have I convinced you yet?

The difficulty of testing Other tested subjects know their ‘environment’

The difficulty of testing (II) In Software Engineering we may have: Code run in different servers Race conditions Performance issues Code is integrated with 3rd parties 3rd parties changed 3rd parties might not be available Requirements change after placed in production …

The difficulty of testing (III) It was never easy to properly test Don’t waste your time testing! We need to get more profit from the project

Scenario

Scenario Lots of features Long duration project Several components: API Behaviours Out-of-the-box customizations Huge permission complexity 3rd party integrations Etc

Coding does not end within the code The ZAIZI Testing Ecosystem Coding does not end within the code

The ZAIZI Testing Ecosystem Analogía con algo? Medio ambiente, edificio?

The ZAIZI Testing Ecosystem Perform unit tests for each piece of code Mock 3rd parties or subsystems Create reports for code covering and code health Create harnesses for APIs Mimic user operations for functional tests Create report for multiuser and multithread testing And more…

The ZAIZI Testing Ecosystem : Maven The foundations Full lifecycle management Deliver Alfresco code in any format War, AMP, Jar, RPM Integrate some useful plugins Surefire Cobertura Sonar

The ZAIZI Testing Ecosystem : jUnit Unit tests Maven surefire integration Virtual Alfresco context Clean run every time Database wiping Does not generate the package if some test fails

The ZAIZI Testing Ecosystem : Mockito Mimic components, 3rd parties Very useful to isolate your code Just test what’s yours

The ZAIZI Testing Ecosystem : Sonar Open Source code quality platform We used for: Check how complex the code is Cyclomatic complexity Check the style of the code Variable/Methods names Code coverage An alternative for cobertura

The ZAIZI Testing Ecosystem : Cobertura (II) Line coverage acceptable Branch covering not enough

The ZAIZI Testing Ecosystem :JMeter Central axis Running services automatically HTTP: Webscripts SMTP: Emails Etc Used for creating test suites: API harnesses Emulate users Massive requests

The ZAIZI Testing Ecosystem : JMeter (III) Test harness purposes: Catalog of operations Practical examples Inputs, outputs Check unexpected changes visually

DEMO

The ZAIZI Testing Ecosystem : JMeter (IV) Functional test purposes Collecting use cases Emulating them Checking the response is the one expected

The ZAIZI Testing Ecosystem : JMeter (V) Performance test purposes Basic operations executed several times Several threads, several users Reports for diagnosis Combined with Appdynamics

The ZAIZI Testing Ecosystem : Confluence Used for uploading reports

The ZAIZI Testing Ecosystem : Confluence Checks every single jMeter operation

The ZAIZI Testing Ecosystem : AppDynamics Used for checking and montoring the performance of the applications in the environments Detect slow transactions, memory leaks, etc Huge amount of options and configurations Could be talking about it for hours

The ZAIZI Testing Ecosystem : AppDynamics

Automated Continous Testing Testing without human involvement Dedicated server for testing purpose Continous deployment purpose Configurations close to production Repeatable, robust, auditable Again, thanks to the customer!!

Automated Continous Testing Not anymore!!

Automated Continous Testing - Algorithm

Don’t become a test-addict Don’t ‘all-in’ if you don’t need it Meet your requirements, do your testing Leverage your code with testing, not the opposite!

Evolutioning the ecosystem Making functional tests more functional Detecting some behaviors within the log files

“Would you like to know more?” Ecosystem 2.0: Splunk Monitor Alfresco logs with ‘live’ tests Detect unexpected outputs Alert unexpected behaviour “Would you like to know more?”

Ecosystem 2.0: Selenium Limitations with JMeter in Share Asynchronous calls are not catched properly Selenium is perfect to emulate user&browser interaction

TDD in Alfresco Test Driven Development Simple software development technique Short development cycles Focused on deliver what is required, nothing else

TDD in Alfresco

TDD in Alfresco Possible thanks to Alfresco and Maven-Surefire integration Virtual Database and Alfresco context

TDD in Alfresco Benefits Inconvenients You focus on delivering, not coding for coding Coding behaviors, not just code Tests are really part of documentation Debug actual code from tests Usually less number of defects Inconvenients Tests are slow – Alfresco context starting up Not prepared to test UI

Cost Savings Time saving Moral savings Cost effective testing Validation could take more than 3 hours Create, check, delete… Project duration might be 2+ years Do you need a calculator? Reducing development cycle Moral savings Testing the same everyday is frustrating You don’t test the very same twice Cost effective testing You only test when something went wrong

Conclusions

Conclusions Testing is a good QA indicator Not conform yourself with Unit tests Build a stack to fully test your apps You will save time and frustations Don’t become crazy by testing

Credits (or thanks, thanks, thanks) Trafigura Michael Phan – Technical Architect James Bennett – Head of QA Ian Carr – Project Manager

Thank you!