Top Banner
Quality & Testing in Agile PV260 Software Quality
34
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Quality and Testing in Agile

Quality & Testing in AgilePV260 Software Quality

Page 2: Quality and Testing in Agile

12.05.2015Page 2 Jan VernerQuality and testing in agile

About me…

Ing. Jan Verner

Head of Development

@janverner

cz.linkedin.com/in/janverner

Page 3: Quality and Testing in Agile

12.05.2015Page 3 Jan VernerQuality and testing in agile

What can you expect

• What is quality?

• Agile development in nutshell

• Project deviations

• Barriers of quality improvement

• Automation

• Dashboards

• Reviews

• ISO and CMMI

Page 4: Quality and Testing in Agile

12.05.2015Page 4 Jan VernerQuality and testing in agile

What is quality?

?

Page 5: Quality and Testing in Agile

12.05.2015Page 5 Jan VernerQuality and testing in agile

Page 6: Quality and Testing in Agile

12.05.2015Page 6 Jan VernerQuality and testing in agile

What is quality?

• No bugs• Fast and responsive software• Satisfied user or customer• Compliance with legislatives• Compliance with internal rules• …

Page 7: Quality and Testing in Agile

12.05.2015Page 7 Jan VernerQuality and testing in agile

What is quality?

Software functional quality reflects how well it complies with or conforms to a given design, based

on functional requirements or specifications.

Software structural quality refers to how it meets non-functional requirements that support

the delivery of the functional requirements.

Page 8: Quality and Testing in Agile

12.05.2015Page 8 Jan VernerQuality and testing in agile

What is agile development?

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right,we value the items on the left more.

http://agilemanifesto.org/

Page 9: Quality and Testing in Agile

12.05.2015Page 9 Jan VernerQuality and testing in agile

When should we use agile?

Page 10: Quality and Testing in Agile

12.05.2015Page 10 Jan VernerQuality and testing in agile

Agile process in detail

agileforall.com

Page 11: Quality and Testing in Agile

12.05.2015Page 11 Jan VernerQuality and testing in agile

Project deviation

time

Page 12: Quality and Testing in Agile

12.05.2015Page 12 Jan VernerQuality and testing in agile

Project deviation

time

Page 13: Quality and Testing in Agile

12.05.2015Page 13 Jan VernerQuality and testing in agile

Project deviation

time

Page 14: Quality and Testing in Agile

12.05.2015Page 14 Jan VernerQuality and testing in agile

Project deviation

Fail fastLearn fast

Page 15: Quality and Testing in Agile

12.05.2015Page 15 Jan VernerQuality and testing in agile

Three key messages for agile

• Communication within team is basis[email, communicator, face to face meeting, minutes of meeting]

• Product owner is key role[training, will to change mindset, non-waterfall approach]

• Retrospective quality is essential[focus on improvements, focus on positives]

Page 16: Quality and Testing in Agile

12.05.2015Page 16 Jan VernerQuality and testing in agile

Barriers of agile adaptation

VersionOne Survey 2012

Page 17: Quality and Testing in Agile

12.05.2015Page 17 Jan VernerQuality and testing in agile

Quality-focused thinking

It is about mindset of the peopleIt is about cultural changePositive results generate positive results

Start doing the quality already during interviews[early detection, ability to solve difficult situations, creativity test]You have to invest into development of the people[one to one, coaching,feedbacks]

Page 18: Quality and Testing in Agile

12.05.2015Page 18 Jan VernerQuality and testing in agile

Barriers of agile adaptation

VersionOne Survey 2012

Page 19: Quality and Testing in Agile

12.05.2015Page 19 Jan VernerQuality and testing in agile

The truth is

We are lazy.We will not repeat processes.We want to improve.We make errors, it is natural.We fall ill time to time.We may leave the project.

Page 20: Quality and Testing in Agile

12.05.2015Page 20 Jan VernerQuality and testing in agile

Realize human weaknesses

Do you have a new idea?

Does your idea work?

Automate it!

Page 21: Quality and Testing in Agile

12.05.2015Page 21 Jan VernerQuality and testing in agile

Automatic tests

• Can not tell you that you have not done a bug.• Save time for developers.• Save time for testers.• Specially suitable for unit tests.• Can be used to calculate test coverage.• Advances motivation of testers.• Maintenance of tests is needed.

Page 22: Quality and Testing in Agile

12.05.2015Page 22 Jan VernerQuality and testing in agile

Dashboards – SonarQube

Page 23: Quality and Testing in Agile

12.05.2015Page 23 Jan VernerQuality and testing in agile

Dashboards – Team Foundation Server

Page 24: Quality and Testing in Agile

12.05.2015Page 24 Jan VernerQuality and testing in agile

Dashboards - physical

Page 25: Quality and Testing in Agile

12.05.2015Page 25 Jan VernerQuality and testing in agile

Pair programming

It is expensive! Is it expensive?

Page 26: Quality and Testing in Agile

12.05.2015Page 26 Jan VernerQuality and testing in agile

Code reviews

Search for errorsShare know howTrain in new members fasterReview architectureMake user interface reviewDefine common coding guidelinesUse dashboards statistics as input

Page 27: Quality and Testing in Agile

12.05.2015Page 27 Jan VernerQuality and testing in agile

Code reviews

… software testing alone has limited effectiveness -- 25 – 45%… effectiveness of design and code inspections are 55 and 60 percent.

• In a group of 11 programs developed by the same group of people, the first 5 were developed without reviews. The remaining 6 were developed with reviews. After all the programs were released to production, the first 5 had an average of 4.5 errors per 100 lines of code. The 6 that had been inspected had an average of only 0.82 errors per 100. Reviews cut the errors by over 80 percent.

• The Aetna Insurance Company found 82 percent of the errors in a program by using inspections and was able to decrease its development resources by 20 percent.

• A study of an organization at AT&T with more than 200 people reported a 14 percent increase in productivity and a 90 percent decrease in defects after the organization introduced reviews.

link

Page 28: Quality and Testing in Agile

12.05.2015Page 28 Jan VernerQuality and testing in agile

UI reviews

• It is the very same process as code review.• Can be used to improve visual side of the product.• It is good way to check that nothing is forgotten

Page 29: Quality and Testing in Agile

12.05.2015Page 29 Jan VernerQuality and testing in agile

UX testing

• Talk about emotions• Measure time to complete a task

Page 30: Quality and Testing in Agile

12.05.2015Page 30 Jan VernerQuality and testing in agile

Code refactoring

Improve existing codeSet of techniquesYou should have automated testsYou can use tools (e.g. ReSharper)

Page 31: Quality and Testing in Agile

12.05.2015Page 31 Jan VernerQuality and testing in agile

Code refactoring

Page 32: Quality and Testing in Agile

12.05.2015Page 32 Jan VernerQuality and testing in agile

ISO and CMMI

Page 33: Quality and Testing in Agile

12.05.2015Page 33 Jan VernerQuality and testing in agile

Feedback form

surveymonkey.com/s/BY56JB8

Page 34: Quality and Testing in Agile

12.05.2015Page 34 Jan VernerQuality and testing in agile

Contact

Jan VernerSiemens CT DC

Olomoucká 7/9618 00 BrnoČeská republika

E-mail:[email protected]