testing practices in playtech estonia - ut › ... › 2015_fall › uploads › main ›...
TRANSCRIPT
Testing Practices
in Playtech Estonia
Kerli Rungi
Quality Assurance Manager
Playtech Estonia, Casino Unit
Agenda
• Playtech – Organization & Products
• General QA Concept
• General Testing Practices
• Supportive QA Processes
• Testing Challenges in Playtech
• Common Misconceptions about Testing
Playtech as an Organization
• World’s largest online gaming software supplier
• Founded in 1999 (Estonia, Israel)
• ~5000 employees in 13 countries (666 in Estonia)
• Cooperation with entertainment corporations (e.g.
Marvel, HBO, MGM) and governmental regulators (e.g.
Italy, Finland, Spain)
• Traded on London Stock Exchange Main Market
Playtech’s Products
• End-to-end solution provider
• Wide range of fully integrated products – Casino, Poker,
Bingo, Live, TV, Sports, IMS, …
• Web, Download and Mobile platform
• Integrations with 3rd party systems
• More than 100 different product components
General QA Concept
• Quality assurance is a proactive management
approach to assure product quality and stability by
improving processes, work culture, methods etc.
• Quality control is a set of reactive means to measure
version quality for management decision regarding
deployment.
General QA Concept (cont.)
General QA Concept (cont.)
• Measure, learn and improve mentality
• Processes, work methods and tools
• Internal knowledge sharing
• Wider testing scope and coverage
• Lessons learned
Who is Responsible for Quality?
General Testing Activities
• Development Oriented
• Project Specific
• Release Closure
• Automated Testing
Development Oriented Activities
• Design & other documentation review/approval
• Unit testing
• Code review
• Developer’s alpha testing
• Continuous Integration
– Nightly builds & autotests
– Post-compilation autotests
Project Specific Activities
• Test planning & Test design
• Define test objectives (consider
risks, best practices)
• Determine prerequisites
• Define detailed test cases
• Artifacts
• Test plan – What to test?
• Test design – How to test?
Project Specific Activities (cont.)
• Testing - Iterative manual testing to
verify that the project meets its design
specifications and other functional
and non-functional requirements
• Functional testing
• Behavior, game logic, game rules
• Game Payout
• Compliance to regulations
Project Specific Activities (cont.)
• Non-functional testing
• Usability
• Localization/translations
• Performance
• Failover & recovery
• Security
• Exploratory testing
Project Specific Activities (cont.)
• Payout Assurance – payout testing activities embedded
to the whole game lifecycle
• Payout simulation
• Detailed math sheetGame Design
• Payout unit testsDevelopment
• 100 Million game rounds
• Real server logic executionPayout tests
• 10 Million game rounds
• Load & Performance Non functional
tests
• Math team
• Review all tests resultsGame approval
Release Closure Activities
• Regression testing
• Performance testing
• Client compilation, installation & upgrade testing
• Compatibility testing
• Middleware, browser & platform based
• Between different product versions
• Staging – cross product integration testing
• Rollback path testing
• Post-upload testing
Automated Testing
• In-house built java-based FW
• Dedicated team
• Mandatory step in each project
• Performance testing
• Regression test cases
• Staging test cases
• Continuous Integration activities
Other Supportive QA Processes
• Documentation review & approval
• Risk management
• Project KPI monitoring
• Project closure meetings & lessons learned
• Production defects RCA
• Company-wide masstests
• …
Testing Challenges in Playtech
• Big & complex systems
– Knowledge sharing
– Integrations with 3rd parties (mock ups)
– Many different technologies & tools
– Instability of testing environments
– Difficult to troubleshoot & localize problems
– High test maintenance cost
• Effective/optimal compatibility testing – mobile devices,
browsers, operating systems.
Testing Challenges in Playtech (cont.)
• High expectations towards quality
• Communication, communication, communication!
Misconceptions about Testing
• Testing is simple – it’s just GUI-checking
• Testers don’t know and don’t have to know anything
about programming
• Tester’s responsibility is to localize and fix defects
• Tester’s ensure the quality