YouTube2Text

QA Engineer From Scratch FULL AUDIO ENGLISH COURSE — Transcript

by Artsiom Rusau QA Life · 96,496 words · 5,573 segments · language en · Watch on YouTube

Full transcript

  1. 0:00hi this is lesson number zero in the course  QA engineer from scratch yes it sounds a bit
  2. 0:06strange what lesson zero is but let me explain my  course on this channel was recorded in the period
  3. 0:10from 2020 to 2023 years probably the main videos  but it is gradually updated some other lessons
  4. 0:16are added but in general if we talk about the  main backbone it's somewhere around this period
  5. 0:22in that time of course a lot of things have Chang  yes in terms of some of the approaches to testing
  6. 0:26in terms of tools the interfaces have changed  in general the market situation has changed a
  7. 0:31lot and my some other training formats have also  emerged so today I and I want to emphasize on that
  8. 0:37and tell you about some things that were in the  first lesson and will probably be further on if
  9. 0:42you are just starting this course and the first  time you see me at all but I did it on purpose
  10. 0:47beforehand let me say right off the bat about  some inconsistencies that might be with what
  11. 0:53I'm in the market for right now if you see the  pattern in the first lesson in the next lesson
  12. 0:57I mean stlc okay it's clear it's it's a general  process involved in the development of day-to-day
  13. 1:02software further down the course you'll learn  what it is the responsibilities of a tester in
  14. 1:06general nothing much has changed that is we work  on the same things this is the development of test
  15. 1:11documentation this is conducting tests this is  drawing up defect reports including if we are
  16. 1:16talking outside the context of a tester there is  such a process as quality assurance where we are
  17. 1:20working with processes specifically with the in  the process of how we introduce this quality at
  18. 1:25the project some preventive measures that is  we can add another Point here and there will
  19. 1:30be a separate lesson about quality assurance you  will learn about it too as for skills look soft
  20. 1:36skills and are the same soft skills in fact are  a set of your personal characteristics that is
  21. 1:42conditionally what you should have even before  you start studying a particular area of testing
  22. 1:46and some hard skills in fact some technical  skills you always have to separate them separate
  23. 1:51personality traits or flexible skills separate  technical skills or hard skills so as far as soft
  24. 1:56skills are concerned we take all risks at once  we are attentive diligent trainable communicative
  25. 2:01responsible it goes on and on if you don't have  this set of skills especially attentiveness and
  26. 2:06communication skills you will probably have a hard  time uh and responsibility in testing because we
  27. 2:12communicate with a lot of people and it's not  only our employees conventionally colleagues yes
  28. 2:18we don't have employees we are also employees  like everyone else our colleagues developers
  29. 2:22designers analysts including we communicate  with the customer yes this also happens on
  30. 2:27projects with business Representatives we may even  sometimes take on a support function and talk to
  31. 2:33customers so there is a lot of communication  attention because guys we are working to make
  32. 2:38sure that everything works great that we do not  have any defects in the system that no mosquito
  33. 2:43has poked its nose into our documentation so  without this we will not go anywhere I'm asked
  34. 2:49here on a course un step conditionally why how  I'm inattentive what to do well what to do it's
  35. 2:54likely to be very bad in that direction and  responsibility because we have responsibility
  36. 3:01related to our quality the quality of the product  that we produce and we as flagships of quality on
  37. 3:06the project must also bear some responsibility for  it and we primarily organize the process around it
  38. 3:12and by the way the whole team is responsible for  the quality of the product no matter what anyone
  39. 3:16says this is also for your future and hard skills  look there is also such a thing that our knowledge
  40. 3:22is at a level of an advanced user obviously  we should be able to work with the command
  41. 3:26line at some level of basic queries and we will  learn how to work with Linux somewhere near the
  42. 3:32end of the course conventionally and you should  also have an understanding that the computer is
  43. 3:36not just about word doc and Fun Farm yes some  games this system these systems have to manage
  44. 3:41and understand the stuffing understand how the  software works so these skills you will also
  45. 3:47need to get some knowledge somewhere maybe even  additionally English look as far as the English
  46. 3:53language is concerned so I have the majority of  the Russians speaking audience and the majority of
  47. 3:57the audience strangely enough from russan English  language it is not the most important requirement
  48. 4:02for the region of the Russian Federation here  in the Russian Federation you can find a job
  49. 4:07without English and you can get training without  English and write documentation in that language
  50. 4:13if we are talking about English for Belarus  for Ukraine for countries that are involved
  51. 4:19in custom development Outsource outstaff English  is mandatory there because the market it works for
  52. 4:24the foreign market and the universal language the  international language is English you will need
  53. 4:28to be able to speak and write documentation and  perhaps even solve some managerial tasks if we are
  54. 4:33talking about further ways uh of your development  to learn in English because most of the materials
  55. 4:39are not even translated into that language so for  these countries it is obligatory to learn and for
  56. 4:44everyone that is conditionally if you're from the  Russian Federation it does not mean that you have
  57. 4:47to forget about English if you plan to live in  the Russian Federation all your life to work in
  58. 4:52some product company where only English Russian or  rather you can of course think about it but if you
  59. 4:57plan to develop to look for some International  projects to go somewhere to become a man of the
  60. 5:01world and to learn first of all English language  you will definitely need knowledge of programming
  61. 5:06languages if we are talking about manual testing  which I give on the course it is optional if we
  62. 5:10are talking about the fact that we need to know  a programming language anyway in the future to
  63. 5:14automate something this is an important thing and  now there's a general Trend to hire Specialists
  64. 5:20who can do something with their hands and write  code therefore probably some stage of your career
  65. 5:24development unless of course you go into full  management and management of of your team you will
  66. 5:29need a programming language although to understand  and speak the same language as your team it would
  67. 5:34be better to learn something at least some Basics  if we are talking about the manual tester then yes
  68. 5:41programming languages are not the most important  thing for you at the moment but if we are talking
  69. 5:45about an integrated specialist you will need to  learn it in some language anyway knowledge of web
  70. 5:51technology mobile applications scam def this we  will all learn in the course probably not gamde
  71. 5:56because gamde is a very specific field if you want  to test game games you need to look for someone
  72. 6:00else and very often there are not even separate  courses and most likely you will be taught the
  73. 6:04specific stuff game testing netw workk here these  are the kind of important specifics I wanted to
  74. 6:10talk about specifically in terms of skills duties  a little bit more specific and about the benefits
  75. 6:15of the job low entry threshold I'm not retracting  what I said I'm not talking about the easiest
  76. 6:20entry into it the easiest point of entry into  it many people for some reason when they watch
  77. 6:24the video think that's what I mean although I  clarify there that it's not the low threshold
  78. 6:29of Entry has to do with the fact that testing  will improve faster conventionally you can in
  79. 6:32a few months already have some basis related  to functional testing if we are talking about
  80. 6:36development you will only spend six months or even  a year learning the language itself that is why
  81. 6:42we have a lower threshold in this respect in terms  of how the requirements for Specialists have grown
  82. 6:47now they have grown and to say that a tester is  just a person who read savin's book 20 years ago
  83. 6:53or not 20 okay 10 years ago and that's it and  he is ready and he knows English he is ready
  84. 6:58to works that's not true you you have to learn a  lot of things quite voluminously and intensively
  85. 7:03if we are even talking about my course which you  are going to watch next it is exactly like that
  86. 7:09and you have to learn a lot of things in a few  months but in terms of it being easier than for
  87. 7:13example uh development 100% career growth well it  is clear the benefits of the job are related to
  88. 7:18Career growth yes you will grow if we're talking  about it everything is quite transparent there
  89. 7:23and there are no incomprehensible formats related  to salary revision as in some State companies you
  90. 7:27will always understand where to develop where  to grow there are certain requirements there
  91. 7:31are assessments evaluations of your work  or performance reviews evaluations of your
  92. 7:37Effectiveness there once every six months once a  year and you will always get some kind of salary
  93. 7:41increase once a year if you really show some big  Delta in your development how you have grown from
  94. 7:44point A to pointb the salary is also quite High  we are not talking about entry level positions
  95. 7:49the salary is different there I'm even afraid to  name numbers now so that no one will say anything
  96. 7:53to me later that no you say too little talking  too much open some services on salary collection
  97. 7:58statistics in your country and look it up there  Hab career Head Hunter does periodically some
  98. 8:03analysis in Belarus W in Ukraine daa or Genie  or some general reports articles on this topic
  99. 8:10and Orient yourself on them because I am watched  by people from different countries and I myself
  100. 8:16am belarian by the way yes who does not know and  always says that I am a Russian blogger I am not
  101. 8:22a Russian blogger I am Belarusian yes that's why I  can't say for sure that you will have a salary of
  102. 8:27$500 $1,000 and that's it and work from it but it  will be reviewed if you have a normal company with
  103. 8:33normal processes the growth can be quite fast and  there in a year or two you can grow to the level
  104. 8:39of X2 X3 that is a salary to receive in 2 minus  3 times more than your initial salary especially
  105. 8:46if we are talking about entry-level positions if  we are talking about positions at higher levels
  106. 8:50there of course the revision rate is not so high  the work itself is interesting someone says that
  107. 8:54uh tester is a chore but actually no it's very  interesting there are a lot of tasks especially
  108. 8:59if you you change projects frequently you won't  get bored believe me so nothing much has changed
  109. 9:03in terms of the benefits of the job perhaps  I would even say you could add disadvantages
  110. 9:07here but the disadvantages are related to the fact  that the market is oversaturated with Specialists
  111. 9:13without experience in testing because let's say  thanks to a large number of courses that didn't
  112. 9:17just use this thing as a low entry threshold but  used it as a simple entry point into it where you
  113. 9:21only need there the ability to read and that's  it without English without programming without
  114. 9:28brains and so on you can become a tester so here  the peak was probably when the pandemic started
  115. 9:34everybody abruptly went into this from those and  a lot of course creation by the way my course also
  116. 9:40appeared in 2020 but it's free there's no arguing  about it anymore and I generally never had a goal
  117. 9:46to make a lot of money from this activity because  of this myth a lot of people have flocked here
  118. 9:51so there are a lot of Specialists on the market  who cannot find work and now those who have this
  119. 9:56work experience in the form of internships in the  form of some commercial projects and so on have an
  120. 10:01advantage so always look for thirdparty projects  related to the fact that you have finished the
  121. 10:05course and you need to get an internship otherwise  without an internship you are unlikely to find a
  122. 10:10job these are the realities of the market now and  you have to be ready for it that is you are now
  123. 10:15taking all the risks associated with learning  this profession so that there are no surprises
  124. 10:19for you later okay I will not talk about business  users because the next lesson will be devoted to
  125. 10:24even more aspects of this business tabs charts  I just made accents related to to what are some
  126. 10:30starting points why you need this course at all  yes what does a tester do in general what skills
  127. 10:35you need to pump uh if you don't have them pumped  you don't have them yet and we will close many of
  128. 10:40them on the course at least related to hard skills  and here too I told you a little bit about the
  129. 10:45advantages and disadvantages because because you  have to give some explanations a lot of people
  130. 10:51don't realize this I will also tell everyone once  again that the course is not a Panacea finishing
  131. 10:56any course even a paid one you will not get a 100%  job guarantee no matter what anyone says and on
  132. 11:02what sites would not write it you will need to do  a lot of things on your own afterwards that is 50%
  133. 11:08of your success depends on you not the course 50%  of the course I think you can say such percentages
  134. 11:15next comes the job search building a job search  strategy resumes feeds networking we will
  135. 11:19talk about networking in one of the next videos  that will be on the channel that is all of this
  136. 11:24together will give you some kind of springboard  for you to find this job we don't rely only on
  137. 11:29courses and that's why I recorded this lesson in  the first place because this course which you will
  138. 11:35continue to take you can take not only on YouTube  you can take it and on steppic first of all please
  139. 11:41note that on YouTube on my channel there are two  playlists yes related with it well not with it but
  140. 11:50with this with the course yeah my test are from  scratch in the first one which is the basic course
  141. 11:54there's only 33 videos and in the professional  course there's 88 I would advise you of course
  142. 11:59to watch the professional course because there's  more information there's more work with tools and
  143. 12:03the 33 video basic course it's the most basic  that is is the theory of testing is some really
  144. 12:10basic base for you to understand who a tester is  and what he does if you want to go deeper then
  145. 12:15we'll go into the second playlist and here's  the second playlist it's right here on steppic
  146. 12:19why I encourage you to learn not just by watching  YouTube videos but on some kind of platform this
  147. 12:25course is absolutely free which I've posted here  there's about 70 videos here not even all of them
  148. 12:31that are in this playlist are in professional in  addition to the videos themselves if we open up
  149. 12:36the testing principles to show you how the course  is structured there's a video that's just copied
  150. 12:41as well from this playlist you will watch a video  here on steom then there's more information some
  151. 12:46links will even be different some new links will  appear that is some updated stuff not just what's
  152. 12:52on YouTube most importantly there is a text format  not for all lessons I'll tell you right away
  153. 12:57primarily for testing Theory here are the first  three modules completely contain text format in
  154. 13:03addition to video and web testing I also began to  fill in slowly some lessons related to tools they
  155. 13:10will not have text accompaniment because seems to  me that practical things should be shown exactly
  156. 13:14on video so that you watch repeat and work with me  specifically for this reason uh that is the text
  157. 13:21where something is described then there are tests  there are my notes of the auto course if you need
  158. 13:26to explain something to give examples examples  from practice from real processes I try to add for
  159. 13:31example some things they weren't on YouTube either  and here most importantly corrected the errors
  160. 13:36that were in the videos themselves because they  are yes all people always include the human factor
  161. 13:42so here is the actual information I would advise  you to connect in parallel to watching videos
  162. 13:47also this format in addition to the test there are  assignments practically well in some lessons where
  163. 13:53they are necessary there are tasks there on SQL  there are tasks on apis using Postman there are
  164. 13:58tasks related to describing test documentation in  general there is enough material there are about
  165. 14:03180 tests and tasks in the course so you can use  it to your heart's content so for each lesson open
  166. 14:09it look what else is interesting there's a final  test this is a purely test simulator in fact all
  167. 14:15the questions from the course are collected  in one place you can pass and when you finish
  168. 14:19the course conditionally repeat what you have  passed and check your knowledge this is what the
  169. 14:23course on stepic looks like you can get certified  here importantly through a third party platform
  170. 14:29in introductory lesson there's a separate  slide dedicated to this because I was not
  171. 14:35given the opportunity to connect a certificate  for the free course then use this here are the
  172. 14:40instructions take the course at 80 leave a review  not necessarily positive any review leave I just
  173. 14:46want to receive feedback and I will tell you why  it is important to me a little further on and
  174. 14:51that's it that is how the course is organized  there is a comment section where you can ask
  175. 14:56questions about the assignments I try to answer  if someone doesn't answer from the students or
  176. 14:59also is our community in telegram all the links  I will leave in the description you can also
  177. 15:03connect and communicate within it in other words  the format of the training is as follows watch
  178. 15:08the video read the text if there is any and do  the assignment test and so for each lesson if we
  179. 15:13are talking about some practical lessons then  watch the video repeat everything I do in the
  180. 15:17video and then close the video and try to do it  without me or by solving these same problems on
  181. 15:22some other cases on other sites and resources a  lot of self-study is needed well in principle it
  182. 15:28is logical because the course itself also implies  self-study in the first place in one lesson there
  183. 15:34are additional links to bonus materials that is  you can watch there is a simulator for practicing
  184. 15:39practical skills of tester if you lack practice  on the course you can go here and so on in other
  185. 15:44words study the structure connect use it you can  just watch videos on YouTube no one forbids you
  186. 15:48to do that but there is no feedback here there  are no tests to consolidate some tasks there is
  187. 15:53no community that is you can write a comment but  there is no feedback on the course you may not be
  188. 15:58able to respond on because I have a million views  under some of my videos there are either 300,000
  189. 16:04or 300,000 and I don't have time to respond to  everyone and I don't have the task of responding
  190. 16:09to all the comments on this channel and don't  forget that there are other videos here so you
  191. 16:13don't have to focus only on these two playlists  there are videos related to job search hiring
  192. 16:18some specifics there are live broadcasts on the  channel yes uh you can watch the broadcast with
  193. 16:24resume parsing with some conversations with  experts panel disc discussions with parsing
  194. 16:30of test cases I mean it's all on the channel it  seems to me that this is one of the most saturated
  195. 16:35channels on testing in the Russian speaking  segment of YouTube so I will be happy to see
  196. 16:39you in addition to the fact that you can learn  for free both on YouTube and on steppic I have
  197. 16:44a paid alternative here in one lesson if you are  interested you can read what my paid courses are
  198. 16:50my pride is my course I'm going to show you now my  course on testing it's called functional testing
  199. 17:01it was completely recorded in the spring of this  year 20203 years so if you go over here let's turn
  200. 17:11this thing off let's go to select a course you  can see all my products but we're going to focus
  201. 17:16on functional testing by I mean I recorded the  whole course in the spring added new tasks new
  202. 17:24test it can be bought on UD and intern platforms  UD does not work in Russia and with it's part of
  203. 17:32the banks in Belarus intern can be bought from any  country from any Bank the rates are the same just
  204. 17:36on different platforms that is by cost look the  relevance of the course as I said in 2020 3 years
  205. 17:43it is recorded there are 50 plus lessons again the  same 30 plus hours pre-recorded content questions
  206. 17:49about 300 is issued a certificate by the way and  well said on steppic is issued a certificate yes
  207. 17:55through a third party platform there is also a  closed chat you forever get access to all the
  208. 18:00course materials and all the updates you will have  the terms of training are as follows how much to
  209. 18:05learn well it is not particularly interesting  well and further you can read what is here the
  210. 18:09course is in principle I think not bad they are  somewhere the intersection of junior junior plus
  211. 18:14strong Junior specialist middles find even  a lot of interesting in it so you can study
  212. 18:18additionally it is completely different from what  is on YouTube and contains more information more
  213. 18:23tools and everything is up to date there these  are the junior independent junior plus our group
  214. 18:27rates the next enrollment will not be until 2024  in the spring and there I'm already doing group
  215. 18:34work with people will be revising this whole  thing soon there will only be one Fair left
  216. 18:39with a different cost with a different number of  people in the group what's good about the rate is
  217. 18:44the live webinars which means I'm there every week  or every two weeks with the guys we discuss some
  218. 18:49hot topics there are practical assignments about  20 pieces of different ones quite in depth which
  219. 18:55give you a complete base there's feedback which  is important because uh on udemy and um on the
  220. 19:01internets I don't give feedback the feedback in  that form is just the solutions to the assignments
  221. 19:06themselves from me well what's most important  is internships meaning the best students I offer
  222. 19:11internships again this can all be explored on my  website if you are interested so there are some
  223. 19:16paid Alternatives you want to choose for yourself  you want to work on the free course which is also
  224. 19:20constantly updated I support it because initially  I want education to be accessible to everybody as
  225. 19:27for my training the whole plan is on steppic  you can watch it on YouTube the videos may be
  226. 19:33in a slightly different order as they are on  steppic on steep they are in a more logical
  227. 19:38order so again I would advise you to use this  platform for your training plus you'll get some
  228. 19:44sort of confirmation in the form of a certificate  after you run out if you still have any questions
  229. 19:49about this video about my course feel free to ask  them in the comments subscribe to my other social
  230. 19:54networks there is also a lot of useful material  you can read where what when there's a link it's
  231. 20:01coming up now and I'll see you in the next lessons  in this course I'll be happy to help you become a
  232. 20:05tester hello YouTube my name is artm and today  I want to announce a new free course on software
  233. 20:15testing for all those who are interested in  this topic and have decided to further link
  234. 20:21their life with quality assurance I think it's  worth starting with what testing is my favorite
  235. 20:29definition is the search for discrepancy between  the actual and the expected result that is if
  236. 20:35the customer wants to see a certain icon on the  page this will be our expected result and how it
  237. 20:42will be implemented in our product is the actual  result if they differ from each other then this
  238. 20:48can calmly be attributed to a defect the search  for which is what a tester does the role of a
  239. 20:55tester in a project in my opinion is one of the  most key any major IT company cannot do without
  240. 21:02this little person on the project let's talk  a little about the main stages in the software
  241. 21:07life cycle or as it is also called sdlc software  development life cycle there are several models
  242. 21:14of such a life cycle we will think about this  with you in one of the following lessons sdlc
  243. 21:21the first stage in any project is initiation or  the idea that is some business understands that
  244. 21:27it's User it's consumer has a certain need  for a product this product will really take
  245. 21:32off it collects some data on what it wants  to show its user after all and he has an idea
  246. 21:58with this idea he comes to an IT company and  if there is an agreement that this project
  247. 22:03will be developed in this company business  analyst join the case and begin to collect
  248. 22:09requirements they communicate with the  customer with the end user form a pool
  249. 22:19of requirements that will need to be implemented  in the final product further one can distinguish
  250. 22:24such a stage as design the UI UK's designer who  based on the requirements draws if we are talking
  251. 22:32about a web application for example mockups or  templates of the site that our customer wants
  252. 22:38to see if the customer has no questions about  the requirement and the design then developers
  253. 22:43get down to business and the actual development  begins that is developers right code that will
  254. 22:50subsequently go to testing by testers as tological  as it may sound after the product uh t tested it
  255. 22:59is handed over to the end user for operation and  if the business understands that this product is
  256. 23:06no longer in demand or comes up with something  new and forgets about supporting the old product
  257. 23:12it is withdrawn from operation let's think with  you at which stage the tester is connected of
  258. 23:19course it would be logical to assume that this  stage is called testing but in fact it is not
  259. 23:30the tester connects to testing already at  the stage of development and collection of
  260. 23:35requirements what does this consist of  let's talk a little bit about each of
  261. 23:40the stages and what types of testing can be  associated with them I will tell you not only
  262. 23:46in passing because later we will discuss each  of these types of testing in more detail with
  263. 23:50you for example development and requirements  Gathering the tester tests the requirements M
  264. 23:58eles for their compliance their main properties  how correctly they are written whether they
  265. 24:03contradict each other whether they are complete  if everything is okay then at the stage of design
  266. 24:09development the tester can test both the template  itself for compliance with the requirements and
  267. 24:16conduct usability testing that is how convenient  it will be for the user to use our product at
  268. 24:23the development stage what our developers wrote  is tested that is here both the UI that is user
  269. 24:29interface what we see on the screen when we  open a particular site and what is under the
  270. 24:34hood or back end that is what an ordinary user  cannot see can be tested and in Principle as
  271. 24:41for the introduction into operation acceptance  testing Alpha Beta Testing can be carried out
  272. 24:49here I think those who play  computer games are familiar with the
  273. 24:58phrases again we will talk about  each type of testing with you a
  274. 25:02little later in subsequent lessons this  is what concerns the stages of software
  275. 25:07development the roles of a tester at each of these  stages we will talk to you in more detail about
  276. 25:17the life cycle models of software a little further  since now we were talking about the classical
  277. 25:23model but there are also other more interesting  ones for example the same agile methodologies
  278. 25:28agile scrum by which most modern it companies  work now let's talk about the responsibilities
  279. 25:35of a tester there are several types of  activities so let's talk a little about
  280. 25:40each of them responsibilities first it is the  development of test documentation that is it
  281. 25:47can be for example a checklist or a test case  based on which certain checks will be carried
  282. 25:54out I want to note right away that we will also  talk about each of the AR effects characteristic
  283. 25:59of a particular activity in subsequent lessons  so stay on this channel I think you will be
  284. 26:04interested the second stage is conducting the  test that is based on the test documentation
  285. 26:13written by the tester whether it is  a checklist or a test case a series
  286. 26:17of checks is carried out and if we  understand that our actual result
  287. 26:22and expected result differ then we draw up  a bug report or it is also called a defect
  288. 26:29report this defect report goes to the developer  based on it a bug fix is carried out that is the
  289. 26:39correction of a certain error or defect and  if everything is okay then it is sent back to
  290. 26:45the Tester the tester verifies that the bug was  indeed fixed and in principle at this point the
  291. 26:52work I think of a beginning tester ends as other  types of activities are more suitable for Middle
  292. 26:59seniors or leads that is to those people who are  a little higher on the career ladder than you so
  293. 27:05we talked with you about the main phases of the  project about the duties of a tester let's now
  294. 27:12talk a little about what basic skills a tester  should have skills there are two large areas of
  295. 27:19skills so-called soft skills and hard skills let's  add two subtopics hard skills and soft skills
  296. 27:34what are hard skills these are  essentially your technical skills
  297. 27:38if we are talking about a tester then  the following should be noted here
  298. 27:42this is knowledge of the operating  system at the level of an advanced
  299. 27:47user that is it is not enough just to be able to
  300. 27:53work in word you need to understand  a little what web Technologies are
  301. 27:58what mobile applications are how Windows Works  perhaps go to the command line write simple
  302. 28:04commands here in fact the field for maneuver is  quite large I will tell you a little about some
  303. 28:12aspects of testing web oriented applications about  Testing mobile so I think that this knowledge will
  304. 28:19be enough for you to start your career as a  tester English language yes it will be very
  305. 28:27difficult without it why why because most it  companies that work are oriented towards the
  306. 28:33West that is our customers are English-speaking  all documentation within the company will be in
  307. 28:39English Communications will be in English plus a  huge amount of educational materials are also in
  308. 28:45English and software included therefore  without it I think that being a tracer
  309. 28:55is not your destiny so learn English the  minimum entry threshold for a tester is
  310. 29:02the intermediate level you have time  there are courses there are videos
  311. 29:05on YouTube there are books so we learn  English it would also be nice to know
  312. 29:11programming languages at least some Basics or  fundamentals this will also come in handy for
  313. 29:17you well as I already said this is knowledge of  web Technologies mobile applications possibly game
  314. 29:32development that is it will depend on where  you will work in the future which company and
  315. 29:46this company will have its own requirements  for a tester since you will be testing either
  316. 29:51the web or mobile or working in game development  and testing video games so we talk with with you
  317. 29:58about hard skills technical skills let's now talk  about soft skills soft skills are your personal
  318. 30:04characteristics for example for a  good tester it is worth noting such
  319. 30:11as attentiveness perseverance teachability  of course communicativeness without it not at
  320. 30:18all because the tester like it seems to me and  the business analyst just have to communicate
  321. 30:23with every member of your teamor team without  this skill it will be extremely difficult for
  322. 30:29you responsibility of course you are responsible  for the quality of the finished product without
  323. 30:43this characteristic it will be extremely  difficult for you this list can be continued
  324. 30:48indefinitely in fact subskills also pay a lot of  attention so don't think that if you are good in
  325. 30:55some technical area you know I don't know in  web Technologies at the level of a box but
  326. 31:01if you behave not very well as a person then it  would be extremely difficult for you to work in
  327. 31:08it I would also like to note that you  need to understand that the developer
  328. 31:17and the tester have different mentalities  the developer creates programs writes code
  329. 31:25that is he is interested in creating  something the tester in turn wants
  330. 31:29to break what the developer wrote find as  many defects as possible critical for the
  331. 31:35operation of this or that system of our  finished product against this background
  332. 31:40conflicts can arise between the two sides  so I also warn you in advance that this
  333. 31:45may B you need to abstract from these situations  and understand that you are responsible for the
  334. 31:56quality of the finished product you do  your job and you came here not to play
  335. 32:00games and not to make friends but to really take a  responsible approach to work and release a quality
  336. 32:07product let's talk to you about why testing is  necessary there are always two sides this is a
  337. 32:14business and the user and each of these sides  has its own needs business wants to releas
  338. 32:28a quality product that will bring it profit  the user in turn wants his personal data to
  339. 32:34be protected what he pays money  for really for a quality product
  340. 32:40again that is in fact both the user and the  business do not want to take risks business
  341. 32:53does not want to lose money the user does not want  for example data about his finances about health
  342. 33:00about members of his family did not get into  strangers hands that is he also takes on certain
  343. 33:10risks and wants the product to fulfill everything  that was laid down in it by the business and what
  344. 33:16the user wants to get why am I saying this at  all because there are not a few examples when
  345. 33:22companies suffered simply huge losses associated  with the fact that they released medical equipment
  346. 33:28with a huge number of defects or with one but  very critical from which people died or became
  347. 33:34even more ill or a personal user data fell into  public access for example at the same Facebook
  348. 33:44I think everyone knows very well that there were  such moments as it affects both the fact that the
  349. 33:50user does not want to use this product further as  well as the reputation of the company itself plus
  350. 33:56the company incurs huge losses because the fines  for disclosing personal data or they are also
  351. 34:02called sensitive data that is sensitive data of  users are now simply huge also returning to the
  352. 34:10question of loss of profit for business there's  a very famous model related to how the cost of
  353. 34:17fixing a defect changes with the detection of a  defect at one or another stage product development
  354. 34:25if a defect is detected at the stage of develop  velopment and requirements Gathering it is one
  355. 34:30money that is there you just need to change the  requirements themselves in the documentation but
  356. 34:35if this defect is detected at the stage of  release introduction into operation when it
  357. 34:40reaches the end user and for example the sensitive  data of this user becomes known to the general
  358. 34:46public then the business will lose just huge money  firstly in order to fix the defects themselves
  359. 34:55since the code has already been written it will  need to be Rewritten again again tested possibly
  360. 35:01recalling product from some platforms from  the same app store or playm Market therefore
  361. 35:06testers should always be involved at the very  early stages of the project in principle these
  362. 35:13are the main points that I wanted to tell you in  today's lesson but so that you are convinced once
  363. 35:18again how cool it is to be a tester let's talk a  little with you uh about the benefits of working
  364. 35:23a tester firstly it is a low entry Thresh hold  it is no secret that it is much easier to become
  365. 35:31a tester than to learn to write code so many  choose this specialization as the first for
  366. 35:36entering it indeed yes it is but if even 10  years ago anyone who for example knew English
  367. 35:43could become a tester now the requirements  for the tester are much higher as I noted
  368. 35:49earlier you will need to know web Technologies  mobile and maybe even programming languages
  369. 36:08on some basic level so don't think that it's so  easy and simple to become testers career growth
  370. 36:16yes in fact this is also an interesting aspect  since in principle with your great desire and
  371. 36:22constant learning and self-development you can  grow very quickly up the career ladder start
  372. 36:27from the level of a junior that is a beginning  tester not ending with the level of a lead and
  373. 36:34managing your testing team in one company or  another you can also change your development
  374. 36:39Vector at any time become for example an automator  if you started with manual testing which we will
  375. 36:47actually talk to you about during this course or  you can become a developer or a business analyst
  376. 36:55a project manager managing the project as whole  that is you have a huge field for changing your
  377. 37:01activity salary since many of you know that in it  they receive much more than in others at least if
  378. 37:11we are talking about Russia bellarus Ukraine at  the same time you must understand that testers
  379. 37:18have the lowest salary in the it field however  it is still higher than the market average when
  380. 37:23compared to other Industries well of course the  work is very interesting you will not have to
  381. 37:32be bored at work as you will always learn  something new both from your team in which
  382. 37:37you will work and at various seminars conferences  reading professional literature or again going to
  383. 37:45YouTube and finding interesting videos related  to this area so there I think you will succeed
  384. 37:53well this was an introductory lesson for  beginning testers further it will be only
  385. 37:57more interesting we will talk about both the  theory and practice of testing the knowledge
  386. 38:02gained in this course will help you get your  first offer I really hope so and start your
  387. 38:06work in the company of your dreams if you  found this video uh interesting then be sure
  388. 38:11to subscribe to this channel click on the Bell  leave your comments I will definitely answer
  389. 38:17everyone and we will see you very soon [Music]  goodbye hello YouTube in our last session we
  390. 38:38discussed why a tester is needed what kind  of creature it is and I'm glad you stayed
  391. 38:44with me to continue learning in this course  it's time to start studying the theory today
  392. 38:49we will learn about the seven principles of  testing which every self-respecting tester
  393. 38:53should know principle number one testing shows  the presence of of [Music] defects testing can
  394. 39:02show that there are defects in the product but it  does not signal that there are no defects at all
  395. 39:08that is in the process of testing we reduce the  likelihood that defects remain in the product but
  396. 39:14even if we did not find any at all we cannot  say that they do not exist in my experience
  397. 39:20there are always bugs in the product principle  number two exhaustive testing is impossible
  398. 39:32it's simply impossible to test absolutely  everything in the product and even if you
  399. 39:37think otherwise you will spend a huge amount of  time on it as you know time is money you might
  400. 39:43ask how can you then be sure that the product  works correctly I will answer this by saying
  401. 39:49that there are always risks and priorities  to minimize the former there are special test
  402. 39:55design techniques that help testers designed  their tests so that with minimal effort they
  403. 40:01cover as many test cases and functionalities  as possible we will talk about the main ones
  404. 40:07in the following lessons but now let's talk  about principle number three this is early
  405. 40:12testing let's remember the cost of defect  correction model from when it was detected if
  406. 40:21you have forgotten about this model you can always  remember it if you follow the link that will now
  407. 40:26appear at the top top this model characterizes  the principle of early testing as well as
  408. 40:33possible that is test activities should start  as early as possible and always pursue specific
  409. 40:39goals in this case saving the customer's  funds principle number four clustering of
  410. 40:45defects it states this a large number of  defects are hidden in a small number of
  411. 40:53modules if we remember the Paro  principle then it is applicable
  412. 40:57to this Principle as well 80% of  the defects are found in 20% of the
  413. 41:01functionalities that is we must understand that  the largest number of defects is concentrated
  414. 41:10not in the entire application but in some  specific functionality therefore the tester
  415. 41:16must distribute their efforts proportionally  to the actual density of defects for example
  416. 41:22if he understands that in the user login module to  the system [Music] there are always some critical
  417. 41:30defects then he should focus more time on finding  and eliminating these defects precisely in this
  418. 41:36functionality a very interesting principle called  the pesticide [Music] Paradox let talk a a little
  419. 41:46bit about it running the same tests over and over  again you will encounter that they find fewer and
  420. 41:53fewer new errors as the system evolves many of  the previously found defects are fixed and old
  421. 41:59tests no longer work to overcome this Paradox  it is necessary to periodically make changes
  422. 42:06to the used test sets review and correct them  so that they meet the new state of the system
  423. 42:11and allow finding as many def effects as possible  for this it is also necessary to constantly study
  424. 42:17new methods for testing and Implement them in  your work also to overcome this obstacle you can
  425. 42:23have other team members run the tests or rotate  Personnel so that different testers test the same
  426. 42:30functionality at different times by the way the  question of minimizing this risk is often asked in
  427. 42:36interviews so be sure to remember the answer to it  why is this principle called the pesticide Paradox
  428. 42:43it's very simple draw an analogy with the use of  some chemical against insects or weeds if they
  429. 42:52are constantly poisoned with the same insecticide  or pesticide then then they develop a tolerance
  430. 42:58they adapt and few insects die or are destroyed  by the action of one or another toxicant the
  431. 43:06pesticide Paradox works the same way for testing  principle number six testing depends on the
  432. 43:12[Music] context what does this rule state the  choice of methodology technique or type of testing
  433. 43:25will directly depend on on the nature of the  program itself for example software for medicine
  434. 43:31requires more thorough testing than a computer  game or a website with higher traffic should go
  435. 43:38through serious performance testing to demonstrate  the ability to work under high load conditions
  436. 43:45therefore the tester must always responsibly  approach the choice of the environment in which
  437. 43:50they will test the choice of documentation to  be implemented for example if the product is
  438. 43:54complex it is better to choose test cases rather  than checklists about these artifacts as I said
  439. 43:59earlier in the first lesson we will talk a little  later but we will definitely touch on all aspects
  440. 44:04of test documentation and the correct choice of  it for this or that project and the last principle
  441. 44:12for today is the fallacy of absence of Errors  every tester should not assume that if testing
  442. 44:20has not revealed any defects then the program is  ready for release finding and fixing defects will
  443. 44:27not be important if the system turns out to  be inconvenient to use and does not meet user
  444. 44:33needs well these are the canonical principles  of testing that help the tester in real work
  445. 44:43you see there are only seven but you should  definitely know them because they are often
  446. 44:48asked about one principle or another in  an interview and this will not hurt you
  447. 44:53at all as it would build a structure in your  head on how to approach approach testing and
  448. 44:58minimize the costs of conducting it well that  was a short lesson much shorter than the first
  449. 45:05be sure to follow the link above to watch  the first lesson so as not to miss anything
  450. 45:09important for our learning with you and in the  next lesson we will learn to distinguish what
  451. 45:15QA QC and testing are and talk about such  processes as verification and validation
  452. 45:27[Music] and of course if you found this video  interesting then be sure to subscribe to this
  453. 45:33channel click on the Bell leave your comments ask  questions I will try to answer them for sure and
  454. 45:39we will see you very soon bye hey guys happy  holidays to everyone it's already passed New
  455. 45:46Year's Eve and old New Year's Eve and Christmas  Eve so I wish everyone the best of luck this year
  456. 45:53and that all your wishful thinking and job search  leads you to some cool results but I have an
  457. 46:00unusual video today you may have noticed that the  video the third lesson in the basic course tester
  458. 46:04from scratch related to QC Q&A and verification  and validation testing has disappeared from the
  459. 46:10share so the reason why it's missing I'll tell you  sometime later but in general today I'm going to
  460. 46:16offer you an updated version of this lesson I've  made some updates and brought it to a look that
  461. 46:21sticky B fans will probably like because the  certifications require exactly what I'm I'm
  462. 46:27going to tell you today and I'm also going to  tell you a little bit of information from kova
  463. 46:34because I think this is one of the best tutorials  one of the best tutorials that's out there right
  464. 46:39now on the theory of testing in Russian which is  distributed absolutely free of charge and I think
  465. 46:45it will also be useful to learn something new for  yourself also this lecture in a slightly modified
  466. 46:50form will be included in the updated versions  of the courses that will be on UDI on the core
  467. 46:55platform and as part of the June package of  my group because I'm updating all my videos
  468. 47:00all my videos and the guys who want to buy this  course they will get the most up-to-date lessons
  469. 47:06and lectures that can be on YouTube I don't plan  to massively update all the videos but maybe some
  470. 47:11selective ones I will replace too so that you have  up toate some information on testing theory on
  471. 47:16practice and so on that's it said what I wanted  to say shared a little bit of updates and now
  472. 47:22let's talk about what is testing quality control  and quality assurance if you and I turn to the
  473. 47:27St KB glossery it's basically a dictionary which  contains a large number of terms then according
  474. 47:33to http translated into Russian because there's  also an English version which people like better
  475. 47:38but still we have another format that you may find  useful and facilitate your learning I remind you
  476. 47:44that HTTP can also be taken in Russian including  in the certificates it is not indicated anywhere
  477. 47:50I myself passed this certification in Russian  because I had limited time so don't worry you
  478. 47:55can do it in Russian too so testing is a process  that contains all the life cycle activities both
  479. 48:01Dynamic and static related to the planning  preparation and evaluation of a component or
  480. 48:06system and related deliverables to determine that  they meet the described requirements to show that
  481. 48:11they are fit for purpose and to identify defects  you see a very large such definition it can be
  482. 48:17simplified I will show you further on how to do it  and there is actually a lot of things shown here
  483. 48:23within that really make testing and what you go  through in the course even when we are learning we
  484. 48:29cover a lot of things there are so-called stealth  processes I'll show you on the next slide I think
  485. 48:34there are just all these processes of the whole  life cycle I'll tell you what they are dynamically
  486. 48:41means by launching code that is we must launch  something and track the Dynamics and statically
  487. 48:46it means without launching code and most often  it refers to some documentation that we can read
  488. 48:50to a specification to requirements to what else  can it refer to to code that doesn't run we can
  489. 48:57proof read the code these are these static testing  methods we talked about them a little bit further
  490. 49:01down the course it's just like I said these  are updated videos and the rest of the lessons
  491. 49:06they're already within the course and you'll be  able to watch them planning preparing evaluating
  492. 49:10system components okay that's clear we're going to  talk to you a little bit about that as well next
  493. 49:15performance results okay in order to determine  that they meet the requirements described so we
  494. 49:20always have requirements I have a separate lesson  on the 26 requirements probably as part of the
  495. 49:25course and I talk about them in detail there that  is in fact the basis on which we develop it all
  496. 49:30so it takes into account pretty much everything  we need to develop there I don't know the size of
  497. 49:35buttons what function should be implemented within  a given ticket within a given task these are all
  498. 49:41the requirements and show that they are suitable  for the stated purposes and for defect detection
  499. 49:47so the stated goals that's usually let's say we're  looking towards users that is what the users want
  500. 49:52and what the business wants probably wants to  because there are different business requirements
  501. 49:57and user requirements that's exactly what testing  allows us to check that we really claim that the
  502. 50:02data we have developed is fit for its stated  purpose well and understandably we can identify
  503. 50:07some defects in the course of testing but remember  that defect detection is not the very purpose of
  504. 50:12testing it is rather a consequence first of all  we have to make sure that our product is developed
  505. 50:17qualitatively and this is exactly what quality  control and testing allows us to do I remind you
  506. 50:24that you can see this stick bigari just Google it  it is now made in such a way that you just open an
  507. 50:29online resource um there you can select any term  both in Russian and in English and read what it
  508. 50:36means in terms of here's the testing life cycle as  you can see this is from the kulikov schema so we
  509. 50:41have a certain number of mandatory steps as sdlc  here in the first lesson that you watched I talked
  510. 50:46about the software development life cycle so there  is the same cycle specifically for testing for
  511. 50:52a separate phase that is we first analyze the  requirements and the the general planning that
  512. 50:57is what concerns specifically how we are going  to test according to the same the requirements
  513. 51:02that we have that is what test environment we  will use what types of testing we will apply and
  514. 51:06so on all this can be included here in principle  clarification of acceptance criteria it concerns
  515. 51:11specifically when we have already developed our  product conditionally what will be the criteria
  516. 51:14for us to say that yes okay it works that is our  acceptance testing again further on in the course
  517. 51:19you will learn what it is more that is it is  basically speaking in a enjoyable manner users or
  518. 51:27some group of individuals confirm that everything  is working well for us testing strategy most often
  519. 51:32includes types of testing also further down the  course there will be a separate lesson related to
  520. 51:36this it is not included in the basic course but  you can find videos on the channel dedicated to
  521. 51:41testing strategy and test plan it describes how  we are going to test that is the types of testing
  522. 51:46that we are going to apply that is we can also  Define them during planning and in the strategy
  523. 51:51they can be specified according to the fact that  we have already started to work there and move to
  524. 51:55later stages of development and testing in general  further when we have already defined the plans
  525. 51:59and the strategy we start working out test cases  that is in fact our tests again there will be test
  526. 52:05documentation and there you will learn what test  cases are this is basically our action plan how we
  527. 52:11are going to test this or that task there steps  meaning conventionally click on such and such a
  528. 52:15button go to such and such a page test that it  works well there are results expected most often
  529. 52:19actually rarely occur in test cases but sometimes  they do so in the expected results we write what
  530. 52:24we want to get specifically as part of the launch  of this test case we develop such cases or some
  531. 52:29other types of test documentation like checklists  they're more simplified and there's just a set of
  532. 52:34checks that we want to implement don't worry we'll  talk about this further on in the course in a more
  533. 52:38accessible way I'm just you know that's the way  I remember it now we have a lot of lessons on
  534. 52:42our Channel more than 100 videos and within the  basic course there are only 27 lessons that you
  535. 52:48can watch in general you will have a testing base  and then it all depends on you whether you want to
  536. 52:52develop in this direction or not whether you want  to buy some paid courses or not but the base that
  537. 52:56you need in principle within the framework of the  course you can master and then you can look at the
  538. 53:02market what it offers us because now of course is  not so easy to get a job okay let's get back to
  539. 53:09our sheep so we have developed test cases we want  to run them and this is where the execution of
  540. 53:14the test cases the execution of all of our tests  this is a separate stage as part of the launch of
  541. 53:19the test cases as part of the testing itself of  course we will find defects that is deviations
  542. 53:23from our expected result remember I told you uh  little bit there that uh in test cases this is
  543. 53:29what we want to get and what we get in practice  is our actual result and here it can be different
  544. 53:33which does not meet the stated requirements  then it is there is a defect that is either a
  545. 53:38bug maybe you you have also heard such a name and  we can also enter them separately as part of such
  546. 53:43documentation as a defect report we enter them  into our system where it is all stored after we
  547. 53:48have done the testing usually it is near the end  of some iteration iteration is basically a period
  548. 53:53of time of the time when we develop something and  they are constantly repeating these iterations as
  549. 53:57part of the development and work on our project so  within an iteration we usually analyze the results
  550. 54:03of testing at the end that is whether everything  went well whether we achieved all the criteria
  551. 54:07that we had there for example the acceptance  criteria there are also criteria for entering
  552. 54:11and exiting testing you will learn about all this  a little further on in the course and then we can
  553. 54:16create some kind of report a report on the results  of testing is most often called this that is we
  554. 54:22say that here is our product it conditionally  meets some criteria and we can say that hey we
  555. 54:26either give this product a five there is a  separate category write down what risks there
  556. 54:30are how many bugs we have found how many cases we  have written analyze our work collect metrics and
  557. 54:36provide such a report for example to the customer  or to the team so that they understand in general
  558. 54:41which is good for us and so in general this  whole process it loops and repeats itself some
  559. 54:46processes of course may not be repeated within an  iteration for example there is General planning of
  560. 54:51requirements sometimes conditionally uh we have  planned something once and use this document
  561. 54:56ation further on in the project it is always  better to analyze the requirements that is we
  562. 55:01don't always have some new ones coming in and we  have to discuss them too that everything goes well
  563. 55:05some definition of done definition of ready this  can also be taken into account in the acceptance
  564. 55:09criteria that is the criteria of Readiness  the criteria of completion again everything
  565. 55:13will be further along in the course don't be  frightened that is we have some criteria on
  566. 55:17the basis of which we can say that everything  is good they can also change from iteration
  567. 55:21to iteration for example and so on that is we  always write cases we always find defects too
  568. 55:26we also try to make reports once per iteration if  on a project you have it but there are not always
  569. 55:31reports and in general we can say that they  are not always appropriate that is you need
  570. 55:34to approach consciously to the choice of this or  that test documentation on the project whether
  571. 55:38it is necessary to implement it or not they're at  the initial stages the final stages a lot depends
  572. 55:42on the complexity of the project that is these  are quite complex processes of course it may be
  573. 55:47difficult for a beginner which you all are now  to understand all this but within the framework
  574. 55:51of your work within the framework of further  training development I think you're going to
  575. 55:56have a more conscious understanding of how  this all works in the next lessons that we
  576. 55:59have in the course now a simplified term as  I promised the definition is from coof that
  577. 56:05is everything that you remember there was a big  comrade that we have collected here Frankenstein
  578. 56:13it fits into a simpler definition that is it  is the process of analyzing a software tool
  579. 56:18and the accompanying documentation in order to  detect defects and improving the quality of the
  580. 56:24product it's very clear it's basically this same  thing here so you can use a term like this that
  581. 56:28is you memorize a few definitions that you have  heard somewhere because at a job interview they
  582. 56:32sometimes ask or a few let's say variations  on the theme so don't be afraid memorize and
  583. 56:38always refer to some resource a lot of people  know kulikov so if you reference his manuals
  584. 56:43they will say Okay many people also know ictb and  if you refer exactly to an international standard
  585. 56:49because it is an international standard consider  it an international certification then also the
  586. 56:54probability that they will say that everything  is wrong and that you are talking nonsense it
  587. 56:58will be this probability will decrease so please  memorize the sources it's important you don't have
  588. 57:03to memorize everything by heart you can tell it  in your own words but in general if there are
  589. 57:07any conflicts of interest between you and the  interviewer then it's better to link to some
  590. 57:13resource to prove once again that everything works  well but there are interviewers who are quite
  591. 57:18specific who believe that they are right about  everything and of course it will be difficult
  592. 57:21to change their minds the problem with people who  have experience they're used to working according
  593. 57:25to one methodology according to one process that  exists within the company and they cannot look to
  594. 57:29the right and left they see only forward within  the framework of the project on which they are
  595. 57:33working you have to fight with this too and a good  interviewer he should listen to you and accept
  596. 57:39even on a point of view if you can prove it here  is another good example I found this somewhere on
  597. 57:45the internet software testing is a way to evaluate  software quality and reduce the risk of software
  598. 57:50failure it is also similar in principle isn't it  this is what we looked at earlier we will always
  599. 57:56evaluate some quality and reduce the risk  that our software won't work at all another
  600. 58:01good point like that and in general definition is  the verification that the results of a software
  601. 58:07product meet given criteria or we can say that  checking the Conformity of the actual result to
  602. 58:13the expected result is the same thing so you can  remember this term too memorize a few use them in
  603. 58:18your work as for test goals they are taken from  syllabus 2 you can memorize a few it's quite uh
  604. 58:23rare to be asked at a job interview what testing  goals there are but still if you know at least a
  605. 58:29few from this list it will be better than knowing  nothing so we evaluate our work products we have
  606. 58:34requirements user stories design and code that  is in fact I have already told you what it is it
  607. 58:39is at the beginning of the project for example or  at different iterations form specifically what we
  608. 58:45want to see in the framework of our implemented  functionality or product user stories are one of
  609. 58:52the types of requirements that is they essentially  consist of the fact that I as such a user want to
  610. 58:57get such and such a function from the system  in order to feel happy these are user stories
  611. 59:01and many companies are now working with them or  they are also called user stories in English code
  612. 59:05design that is it is already more related to some  architectural and development tasks that is we can
  613. 59:11evaluate them too of course uh code for example  in white box methods when we have this code we
  614. 59:17can see it and work with it design perhaps  if you have some architectural possibilities
  615. 59:22and also all this can be evaluated whether all  the requirements are met that is here we look
  616. 59:27at whether the result actually coincides with  the expected result within the framework of our
  617. 59:31testing here we can also check whether the test  object works as expected by users and stakeholders
  618. 59:37clearly everything follows from the previous  points too creating confidence in the quality
  619. 59:41level of the test object that is we as testers  declare that everything works well or everything
  620. 59:46works badly or everything works normally and it  is clear that our customer or a current user will
  621. 59:52understand that this product has been tested  and we give him some confidence preventing the
  622. 59:56detection of failures and defects it is clear  that we are always working on preventive that
  623. 1:00:01is preventive work with our product with our  processes so that those defects don't happen
  624. 1:00:07and understandably there are corrective actions  when we have conditionally already developed our
  625. 1:00:10product and yet something went wrong and we have  defects and we have to detect them localize them
  626. 1:00:16and then the developer task is to fix it providing  stakeholders with sufficient information to enable
  627. 1:00:21them to make informed decisions of course we  create our reports as part of testing send them to
  628. 1:00:26team to the customer to the manager and he  also realizes according to this report that
  629. 1:00:31everything works well reducing the risk level of  non-moving software quality again we as a tester
  630. 1:00:38and a separate testing team can reduce this level  of risk because we test this working product and
  631. 1:00:43say that it works well or does not work well  and we can see some defects in time and tell
  632. 1:00:47you about them about them the same the same  refs to draw up compliance with contractual
  633. 1:00:52legal regulatory requirements or standards or  verification of compliance of the test object
  634. 1:00:57well in addition to the requirements that the  company makes or the customer specifically to
  635. 1:01:02the software that we develop it is clear that  there are also some contracts legal Norms the
  636. 1:01:08same International standards which also stipulate  how it should work so we should also pay attention
  637. 1:01:13to that as part of testing and check that our test  objects are in line with them these are all test
  638. 1:01:19objectives taken from silabus uh 2018 version is  the most recent one you can read it as I said it
  639. 1:01:24is in Russian in English as you prefer so read it  for those who do not have very good English it may
  640. 1:01:29not be very clear what is written in the standard  so more precisely in the preparation program for
  641. 1:01:33certification so you can read in Russian there  is also such a term as debugging and sometimes
  642. 1:01:39testing and debugging are confused see what  it is debugging you may still have heard is
  643. 1:01:42the same thing it's a development activity so you  see right away it's development we have here not
  644. 1:01:47just testing to Find analysis and fixes for such  defects subsequent confirmatory testing verifies
  645. 1:01:54whether the corrected defects are fixed or not so  you see here we are not only finding defects as
  646. 1:01:59part of testing for example we can do that and  we can say that testing is part of debugging
  647. 1:02:03but we still analyze them in principle testing  also allows us to do that and and fix them but
  648. 1:02:08of course we cannot fix defects like this that's  why they say about development that is it can be
  649. 1:02:13some automatic methods of searching for these  defects and fixing them or it can be the same
  650. 1:02:18manual testing or uh the developer himself who  does code review or something else that is uh
  651. 1:02:23he can find bugs too and so this whole process  of finding analyzing and fixing all together is
  652. 1:02:28debugging so do not confuse testing and debugging  they are slightly different things we can say that
  653. 1:02:33testing is a part of debugging but we cannot  say that testing is 100% debugging because we
  654. 1:02:39cannot fix the defects themselves within the  framework of testing and it is clear that we
  655. 1:02:43in this confirmatory testing or retest it is also  called maybe U2 more precisely impossible it is
  656. 1:02:49accurate to hear and further on in the course when  we see that we have introduced a defect and we
  657. 1:02:54check it that it was really fixed a fix was made  a correction this is a retest that is the retest
  658. 1:03:01confirms that everything works well for us next  look we have this hierarchy of testing quality
  659. 1:03:06control and quality assurance in fact they are all  interconnected and some of them are conditionally
  660. 1:03:13included in testing testing for example is part  of quality control as well but you cannot say that
  661. 1:03:19testing and quality control are related to Quality  Assurance they are slightly different things I
  662. 1:03:23will show you on the diagram below earlier in  my course I said that quality assurance comes
  663. 1:03:27first it absorbs quality control and quality  control absorbs testing quality assurance ends
  664. 1:03:31up including generally all activities that can  be related to testing that's not really true and
  665. 1:03:36that's what the HTTP standard tells us it's  more about management already quality we're
  666. 1:03:41going to talk about that as well see what the  glossery tells us again that quality assurance
  667. 1:03:46is a set of activities designed to assess the  quality of a component or system look at once
  668. 1:03:50we work specifically with the product that is we  control the quality of this particular product
  669. 1:03:56we do not work with processes we have another  project for processes is not a project but a
  670. 1:04:02process remember this too and testing also works  specifically with the product it does not work
  671. 1:04:06with processes I also wanted to point out that  in our geolocations quality control testing and
  672. 1:04:11quality assurance are sometimes separated  from each other so whatever you see the
  673. 1:04:15following vacancies they write key engineer but  in fact they want to hire a tester but there are
  674. 1:04:20testers there are QC Specialists and there are QA  specialists and they all do different things yes
  675. 1:04:27most likely you start as a tester you work with  the testing process then you grow up to a midal
  676. 1:04:33you get involved in quality control and then you  can get involved in quality assurance and control
  677. 1:04:39processes and participate in their Improvement  it also happens sometimes they make such a
  678. 1:04:44comparative characterization that June is a tester  the middle is a QC specialist who is a senior lead
  679. 1:04:52is a Q&A engineer but it's not quite right you  just need to understand that we have this Division
  680. 1:04:59and sometimes even testers can work there for 5  years as a tester and not grow up to Q&A or their
  681. 1:05:04middle Senior Specialists can work there only  as quality control of a particular product but
  682. 1:05:09not grow up to Q&A Specialists and to deal with  processes inside the company it's all normal it
  683. 1:05:14happens like that but in our geolocation for some  reason they separate people and then unfortunately
  684. 1:05:18when you come to work they hang absolutely all  the activities on you without looking to who is
  685. 1:05:22who at all although in fact every single person  should be responsible for their function going
  686. 1:05:27back to Quality Control that is you see here we  already have quality assessment of a component or
  687. 1:05:31a system that is testing if I explain it to you  on my fingers we have some written documentation
  688. 1:05:37we have test cases we just run them we get some  reports on defects and this process is repeated
  689. 1:05:41we work with the finished product we we write  some usual test documentation and perform routine
  690. 1:05:47operations quality control is a little bit higher  that is here uh you are not just joining in this
  691. 1:05:52routine work so that you are given some product  and you check it but you are also involved in
  692. 1:05:57analyzing in general the quality that this product  has formed within the framework of collecting some
  693. 1:06:02metrics within the framework of forming reports  on defects you are involved in the work on writing
  694. 1:06:07some kind of test strategy because newcomers  most often do not do it and testers too they
  695. 1:06:12can somehow influence what we get at the stages of  strategy and planning because they will generally
  696. 1:06:17test it later but here is the difference quality  control it solves such high level tasks and of
  697. 1:06:23course including is is involved in testing that  is it tests the finished product according to test
  698. 1:06:29documentation test cases checklists and receives  defect reports as a result he does this too so
  699. 1:06:36quality assurance includes testing and quality  assurance look at the difference here so this
  700. 1:06:41activity is about providing assurance that the  quality requirements will be met see it doesn't
  701. 1:06:47say we're talking about any product here we're  talking about having some quality requirements
  702. 1:06:53in other definitions if you read somewhere  it says here that these activities are aimed
  703. 1:06:56at ensuring improving processes ensuring quality  within the company that is we are already working
  704. 1:07:02on the processes that is we are not just testing  something there the finished product but we are
  705. 1:07:07analyzing what we have going on how the testing  department works how the development department
  706. 1:07:11works as requirements are collected we offer  some preventive warning activities to improve
  707. 1:07:17these processes so that we don't have defects in  the future so maybe we are there what we do is we
  708. 1:07:23come up with some new test documentation that will  be effective for this product for this project for
  709. 1:07:29this team we look at the development there and  realize that aha we have a delay in rolling out
  710. 1:07:33a new product because the developers there spend  a lot of time on code review code review is an
  711. 1:07:38activity that is aimed at reading someone else's  code and saying that yes okay it works and you can
  712. 1:07:41continue to run it somewhere in the process and  this activity delays testing there so we have to
  713. 1:07:47somehow change the situation speed up the code  review and make everyone happy and testers and
  714. 1:07:52developers tested everything in time so you see  these are activities are already aimed at making
  715. 1:07:56sure that we really have everything working  like clockwork within the company and within
  716. 1:07:59the team here Q&A Engineers deal specifically  with this task more so don't confuse all these
  717. 1:08:05three activities testing QC and what US have left  quality assurance those are slightly different
  718. 1:08:11things yes there is QC and testing they are  related but quality assurance is something
  719. 1:08:16else altogether quality assurance quality  assurance is focused on process QC is focused
  720. 1:08:21on products just like testing this is all from  the tkb glossery as well and in general I advise
  721. 1:08:31you to refer to Cabos because there it is more  concretely written down that you can tell there
  722. 1:08:35conventionally about these processes here's  more from elos by the way see here we have a
  723. 1:08:40distinction qck which is quality control includes  various activities including testing activities
  724. 1:08:46that support the achievement of the appropriate  level of quality and quality assurance focuses
  725. 1:08:50on following the appropriate processes to provide  assurance that appropriate levels of quality will
  726. 1:08:56be achieved so you see we have slightly different  things here we are responsible here conditionally
  727. 1:09:02in maintaining our quality level and testing  work is included here quality assurance says
  728. 1:09:09that we have to achieve the appropriate quality  levels we don't just maintain them and work on the
  729. 1:09:14processes that we have within the company that's  the difference too it's worth remembering and as I
  730. 1:09:20said we also have a fourth category that combines  all these things this is quality management
  731. 1:09:25quality management it is the coordinated  management and control of an organization
  732. 1:09:30with respect to Quality which includes setting  quality policy and quality objectives quality
  733. 1:09:35planning quality control quality assurance and  quality improvement you see it says here that
  734. 1:09:41quality management well yes in principle it should  sound normal it includes quality control and
  735. 1:09:47quality assurance that is we include all these  processes including testing because testing is
  736. 1:09:52a part of quality control that is already such a  comprehensive comprehensive let's say requirements
  737. 1:10:00requirements of the process a set of actions as it  is written here which are aimed at the fact that
  738. 1:10:05we have already established some quality policy  According to which the company Works quality
  739. 1:10:11objectives which say that we must achieve some  kind of quality goals that our product should be
  740. 1:10:16super mega class that we should not have any  critical defects that we should automate 100
  741. 1:10:19progression tests and smok tests we talk about  them a further on in the course all of this
  742. 1:10:25is included in quality and it is such a super  structure that is why there are also quality
  743. 1:10:30managers you can also meet them in companies they  are more uh focused on quality assurance but they
  744. 1:10:36also put their hand in speaking in a enjoyable  manner in the work of quality control and testing
  745. 1:10:43and here is a scheme so that it would be more  or less clear we have quality management which
  746. 1:10:48combines quality assurance separately quality  control and includes quality control testing here
  747. 1:10:54it will be a more correct in comparison with what  they say and I once said that quality assurance
  748. 1:10:58includes QC and includes testing so it turns out  to be kind of a Matos doll but it is not really a
  749. 1:11:04matrioska doll it is like this the dichotomy  comes out of our quality management anyway
  750. 1:11:08there's a lot of things that we've covered within  those terms and definitions and I also wanted to
  751. 1:11:12tell you today about validation and verification  because that was also part of the third lesson
  752. 1:11:16which is not available right now so these are  also separate processes and you can see these
  753. 1:11:21processes in the standard international ones  there is ISO 90001 for example in some 100%
  754. 1:11:25it is written about all of this about verification  and validation look at the difference between the
  755. 1:11:29two read the definition carefully according to  the glossery verification is proed by objective
  756. 1:11:35research that certain requirements have been met  that is we confirm that some requirements that we
  757. 1:11:41wrote there that our product should work in this  way have been met this is the main thing that
  758. 1:11:47verification is we will understand it further with  examples it will be clear and validation is appr
  759. 1:11:53pro by objective research results that that the  requirements for the expected specific use of the
  760. 1:11:57application have been met see the difference  there were just requirements they were met
  761. 1:12:01everything is okay but here we are also checking  some specific use of the application from the user
  762. 1:12:06side that is it is not enough for us that all the  requirements are met which were written down on
  763. 1:12:11paper conditionally we still have to prove it that  these requirements meet the user's expectations
  764. 1:12:16that he will receive the system and will be able  to perform his functions and that he will be
  765. 1:12:20satisfied with everything so we will discuss this  further with you in a moment remember validate is
  766. 1:12:25focused on the requirement validation is focused  on the user's expectations you can also pay
  767. 1:12:29attention to this they often talk about it that is  verification is more because this is a requirement
  768. 1:12:34that was formed by a customer and we helped him to  do it as a team their analysts have written these
  769. 1:12:39requirements we have them in line with the right  customers what the customer wants to see and we
  770. 1:12:44are talking about the fact that when we test for  example and carry out this verification process
  771. 1:12:49it says that we are doing the product correctly  that is conditionally we say that we meet all the
  772. 1:12:53standards all the requirements that are customer  conditionally imposes on us and that we together
  773. 1:12:58with our team have defined for a particular  product and validation already says that and know
  774. 1:13:04the needs of the customer okay they are there we  know about them but we have a user we want to sell
  775. 1:13:08something to him and these needs must also somehow  meet the needs of the customer so the user's needs
  776. 1:13:14are covered by validation and here we already  answer to the product whether we are making
  777. 1:13:19the right product that is we say that this product  really meets the expectations of a particular user
  778. 1:13:24that he will be happy to use it work with it and  there won't be any problems even though we have
  779. 1:13:27developed everything there in a kind of correct  way sometimes it happens that something does not
  780. 1:13:31suit the user I will also tell you further  on with examples so you see verification we
  781. 1:13:36have some kind of bicycle conditionally there is a  requirement not a test requirement but a technical
  782. 1:13:42specification where the required color size  details materials all this is described within the
  783. 1:13:46requirements for this bicycle we designed it yes  it is it works it writes it seat is made of the
  784. 1:13:55material there are cool spokes there is something  else the frame is made of stainless steel and so
  785. 1:14:00on WE adjusted everything according to what was in  the requirements but look what a problem it turns
  786. 1:14:07out that this bicycle was designed for children  and little ones up to 3 years old who can still
  787. 1:14:13hold a two whe bicycle normally and they need a  three- whe bicycle that is not a two- whe bicycle
  788. 1:14:18but a three-wheel bicycle and here we are already  talking about the fact that we have not taken this
  789. 1:14:23point into account and we do not meet the needs  of our specific user specifically this girl who
  790. 1:14:28is 3 years old so okay we have developed according  to the requirements that we have everything works
  791. 1:14:33well but it turns out that our target audience  is not only are people who are older they are
  792. 1:14:38children for example of teenage age but it turns  out that this bicycle will also be bought by a
  793. 1:14:41little girl or rather by her parents and here  we didn't take that into account this is the
  794. 1:14:45validation right here verification meets the  requirement validation meets the needs of the
  795. 1:14:50user as for some application let's go to under  understandable to the tester as well we have
  796. 1:14:56some form a form for registering on Yahoo so I  took this form copied it and here we have all
  797. 1:15:03sorts of different fields we here can compare  what we have on our final layout what we see on
  798. 1:15:09the front end what we see on the back end what  we see in the browser with what we had in the
  799. 1:15:13design there are all sorts of layouts that the  designer draw and they also spell out how the
  800. 1:15:17same places should look like we can also look  at the requirements where it says that yes we
  801. 1:15:20have to have Fields there for name for email for  password for your year of birth there has to be
  802. 1:15:26some buttons we can read that too we can look  at that form yeah everything's cool everything
  803. 1:15:30meets the requirement you see testing a component  of the system to see if it meets the requirements
  804. 1:15:35okay the finished version matches the layout okay  we're testing that we have the water Fields that's
  805. 1:15:41okay too as if everything works we can enter  some positive values here that is those that
  806. 1:15:46go are correct valid correct these values we  can enter here click continue everything will
  807. 1:15:52work and then it happens that we have some fields  that are mandatory feels that except only numbers
  808. 1:15:57letters feels it there I don't know what else can  be what else can be there some capture appears
  809. 1:16:01appear conditionally restrictions on uploading a  picture up to a certain size not in this form but
  810. 1:16:07in general so that you understand that is we are  already validating after entering some different
  811. 1:16:11characters in the water field we have a positive  case we have entered everything everything works
  812. 1:16:16well but there are some specific cases our user  wanted to enter I don't know some kind of a script
  813. 1:16:22some malicious code into our system and the the  system should work in such a way there can be
  814. 1:16:26all kinds of cases checking that the user really  needs this functionality is the second point that
  815. 1:16:32is besides the fact that we have checked some  atypical cases if the user has said or not said
  816. 1:16:36something but has done something differently than  we intended and this is also validation because in
  817. 1:16:40principle the users needs they are here now as  if they were in plain s side but we also check
  818. 1:16:44that it is really necessary for example we also  develop some new functionality for what for some
  819. 1:16:50system real estate rental we developed a super  mega functionality that gives us a discount after
  820. 1:16:57we check in 15 different apartments there rent and  so on and gives us a discount there five and we
  821. 1:17:03realize that gez what's this user feature for that  is Imagine 15 needs to rent some apartments in
  822. 1:17:09different cities maybe there is such an additional  condition while a person will get to this discount
  823. 1:17:14five he will basically forget and will not even  look at the fact that he has this discount this
  824. 1:17:18is just a validation if we had conditionally  conducted everything correctly evaluated and
  825. 1:17:22realized that the user in principle does not  need such a function or it is needed but in a
  826. 1:17:27different form to reduce to five some rentals and  perhaps the discount to reduce to two if it is so
  827. 1:17:31miserable to give that money then yes that's when  everything would be fine and the user would use
  828. 1:17:34it that is we can carry out validation already  after we have launched our product to see how
  829. 1:17:40this function works and whether it really meets  the user's expectations or we can think about
  830. 1:17:43how this function will work and whether it is  really necessary at all in advance speaking in
  831. 1:17:48a enjoyable manner this is validation that is  remember verification what is specified in the
  832. 1:17:53requirements what the customer needs and what  we are talking about whether we are doing the
  833. 1:17:59product correctly and validation says okay we did  the product right we looked in the requirements
  834. 1:18:06but the product itself came out wrong because we  have conditionally what happened conditionally
  835. 1:18:11our tricycle didn't work out for a three-year-old  girl our discounts don't work for users here's the
  836. 1:18:17validation we failed that's something to remember  about verification validation that is today we
  837. 1:18:22have considered a lot of Concepts that occur in  testing and to give you a little bit of an idea of
  838. 1:18:26what you will be working with most often beginners  work as in the field of testing testers work with
  839. 1:18:32ready documentation perhaps they write something  there too all kinds of test cases checklists
  840. 1:18:37defect reports yes they create all that further  on they grow an experience they have more highly
  841. 1:18:42loaded task and quality control becomes involved  further as a specialist who understands how
  842. 1:18:47everything works you understand how you can advise  within the process within the company whether
  843. 1:18:52everything works well and whether something can be  improved and already some college activities adur
  844. 1:18:57appear and further you can grow up to a manager  and conditionally manage everything that happens
  845. 1:19:01there manage come up with quality policies quality  objectives to implement them and so on and we're
  846. 1:19:08already talking about management of some sort and  quality management and quality management and as
  847. 1:19:14for verification and validation we also work with  verification and validation in our projects most
  848. 1:19:18of the time because we also have forms that work  incorrectly it is not exactly our task to evaluate
  849. 1:19:23how a specific user wants to see our software it  is more the task of analysts product analysts that
  850. 1:19:28is people who are engaged in for those customers  who collect the requirements in the work plan
  851. 1:19:33inform them that's more their job to analyze the  market and understand how it works but we can
  852. 1:19:39also look in we can do some analytics and we can  also realize that everything is wrong everything
  853. 1:19:45is wrong I hope this lesson was useful to you it  is updated and the rest of the lessons that will
  854. 1:19:50appear within this course you can find on ud. Cor  or in the junior package they will not appear here
  855. 1:19:57because the information that is on YouTube it's  basically up to date I mean there are some flaws
  856. 1:20:01there but the Bas is always the same everywhere  so there is no point in a complete rewrite of
  857. 1:20:07the course if there is something critical there  I think that it needs to be done specifically for
  858. 1:20:12YouTube I will do it so watch this course there  are only 27 lessons and further on the channel
  859. 1:20:18there are other videos that complement what you  learn in the base and I recommend you to watch
  860. 1:20:21them too because a good tester should know a lot  of things from different areas including not only
  861. 1:20:26testing but also project management and creating  test documentation non- test documentation General
  862. 1:20:30documentation some strategies understand planning  and including processes that is all on the channel
  863. 1:20:35I have tried for these two and a half years or  how long we have been doing this yes two and a
  864. 1:20:40half years soon it will be three to include a  large number of different videos on different
  865. 1:20:45topics I think you're all going to find it useful  anyway subscribe to this channel don't forget
  866. 1:20:49about my other communities that you can find  links to in the description of this video and
  867. 1:20:53I'll see you guys very soon soon bye guys hello  YouTube today we are starting a big and very
  868. 1:21:00interesting topic related to the classification  of testing there are a huge number of variations
  869. 1:21:06of this system so don't be surprised if you  find differences in different sources let's
  870. 1:21:11start with the typification of testing by levels  at which it is conducted there are three in total
  871. 1:21:17the first one is component module or unit testing  in different sources it may be called different
  872. 1:21:24L the second level is integration testing and  the third is system testing from the names of
  873. 1:21:35these types of testing one can assume what  is being tested at each of these levels at
  874. 1:21:40the component level individual modules are  tested for example if we are talking about
  875. 1:21:48an online store then this would be testing the  shopping cart or testing the payment of an order
  876. 1:21:55at the integration level the interaction of  these modules is checked and at the system
  877. 1:22:00level the full check of the application is  carried out usually unit testing is done by
  878. 1:22:05the software code developer as unit testing  allows testing individual components of the
  879. 1:22:11program's source code in the example of an  online store such modules could include the
  880. 1:22:16authorization page product search moving it  to the shopping cart payment of the order
  881. 1:22:24as for integration testing it involves  testing a part of the system consisting
  882. 1:22:30of two or more modules for example how  we can make a payment from the shopping
  883. 1:22:36cart page using a payment system  there are two types of integration
  884. 1:22:41testing let's talk about each of them  firstly it is the testing of component
  885. 1:22:47integration that is how individual modules of
  886. 1:22:54one application interact with  each other and system integration
  887. 1:22:58testing which means testing the interaction  between all component systems or the interaction
  888. 1:23:08of different systems with each other or testing  the interfaces through which the system interacts
  889. 1:23:15it is about the interfaces that I want to  talk about in more detail there are three
  890. 1:23:20types of interfaces the first of them is the  app ation programming interface or API it is
  891. 1:23:28a set of methods that can be used to access the  functionality of another program for example an
  892. 1:23:35API is used to implement a certain payment system  for a particular resource again take our online
  893. 1:23:41store for this the developer establishes  integration with this system through this
  894. 1:23:45interface and he does not need to develop his  own payment system there are a huge number of
  895. 1:23:51such apis the most famous of the them is the API  for interaction with social networks like Facebook
  896. 1:23:58or vont we will talk more about apis in the module  on web application testing the second interface is
  897. 1:24:07the CLI or command line interface where computer  instructions are given by entering text strings
  898. 1:24:14from the keyboard simply put it's the usual  command line in the windows system for example
  899. 1:24:20and the third interface is the GUI graphical user  interface in IT program functions are represented
  900. 1:24:27by graphical elements of the screen for example  this is what we see in a browser window when we
  901. 1:24:32open a page on the internet so we've talked about  component and integration testing let's now talk
  902. 1:24:38about system testing system testing is performed  on a full integrated system to verify the systems
  903. 1:24:45compliance with the original requirements for  example if we're talking about an online store
  904. 1:24:51then here we will look at how all the modules  that were developed for the store work together
  905. 1:24:57whether it is possible to go through the entire  business flow of this application that is whether
  906. 1:25:04we can register find a product put it in the cart  pay for our order track this product on its way
  907. 1:25:12that is we are testing the entire application as  a whole and of course speaking of testing levels
  908. 1:25:18it is also worth mentioning acceptance testing  I will include it in this classification as well
  909. 1:25:25what is acceptance testing it is a type of  testing conducted at the stage of delivering
  910. 1:25:31the finished product or its ready part to the  customer the purpose of acceptance testing is
  911. 1:25:38to determine the Readiness of the product and this  is achieved by passing test scenarios cases that
  912. 1:25:46are built on the basis of the specification and  requirements for our product essentially it is
  913. 1:25:53the final state stage of product testing before  its release usually only the main functions are
  914. 1:26:00tested which do not require thorough checks  there are several types of acceptance testing
  915. 1:26:06that also need to be known there are several  types of acceptance testing let's talk about
  916. 1:26:12them in more detail firstly it is user acceptance  testing or uat user acceptance testing get used
  917. 1:26:22to calling all types of testing in English as  you will encounter English abbreviations or
  918. 1:26:29definitions in the future user acceptance  testing is conducted by users of the end
  919. 1:26:34product for example when we know that our  product is ready for release then we can
  920. 1:26:41gather a certain group of end users who test  it to see if this product really meets their
  921. 1:26:48expectations give us some conclusion  we will fix some critical bucks and
  922. 1:26:55we'll be able to release our product  calmly the next type of testing is
  923. 1:27:00operational usually this testing is  performed either by users or by an
  924. 1:27:09administrator in an environment that  simulates the real conditions of the
  925. 1:27:13work environment at this stage backup testing  or emergency system recovery as well as its
  926. 1:27:19security are carried out another type of  acceptance testing is contract compliance
  927. 1:27:25testing this testing involves checking for  compliance with the spec or some other document
  928. 1:27:37regulatory act for example there is a standard in  the country that defines how our product should
  929. 1:27:44comply with this regulatory legal act that  is it defines its some basic key features uh
  930. 1:27:54we must necessarily develop the product in full  compliance with this regulatory act or one of
  931. 1:27:59the most famous documents which was adopted  not so long ago is the gdpr which defines the
  932. 1:28:06requirements for the protection of user data  sensitive data and if we do not take these
  933. 1:28:12requirements into account When developing the  product then we can receive huge fines in the
  934. 1:28:17future and two more types of acceptance testing  are Alpha Testing and beta testing Alpha Testing
  935. 1:28:25represents operational testing conducted on  the side of developers but not within our
  936. 1:28:31company and beta testing unlike Alpha is  conducted entirely on the external side
  937. 1:28:40and without the participation of developers  usually beta testing is conducted by a small
  938. 1:28:44group of users to get feedback from them before  the product enters the market this is a known
  939. 1:28:51practice for computer games I think I think  that those of you who are Avid Gamers know
  940. 1:28:57about such testing that is the customer selects  a certain key group of users and releases a beta
  941. 1:29:04version of the product for them and based  on their feedback that is feedback critical
  942. 1:29:11bugs will be fixed or we will just understand  that our product meets their expectations and
  943. 1:29:18it can already be released also today I would  like to pay a little attention to the issue
  944. 1:29:24of classifying testing by the positivity of test
  945. 1:29:28scenarios it is logical to assume that there  will be two types of testing positive and
  946. 1:29:36negative testing what is implied by each of  them positive testing is such testing where
  947. 1:29:42scenarios are applied that correspond to the  normal expected behavior of the system with its
  948. 1:29:48help we can determine that the system does what  it was created for for example example if we take
  949. 1:29:55a calculator then when adding 2 + 2 we will get  four this will be a positive test negative testing
  950. 1:30:03is called testing in which scenarios are applied  that correspond to the extraordinary behavior of
  951. 1:30:09the system for example these can be exceptional  situations or incorrect data in the example of
  952. 1:30:16our calculator this can be division by zero  so we know in advance that dividing by zero
  953. 1:30:22is not possible that is we should get some kind of  error message many novice testers are mistaken in
  954. 1:30:28thinking that negative testing should be done  first that is try to break the system this is
  955. 1:30:34far from the case positive tests are performed  first especially in a Time limited mode and the
  956. 1:30:40time for testing is always limited just imagine  how the customer will feel if you focus all your
  957. 1:30:47efforts on performing negative tests but do not  check the main functionalities and their work
  958. 1:30:53with the stated require en and hand over such  a product to the customer imagine his reaction
  959. 1:30:58when he simply cannot log into the system using  valid data while you in turn only checked 99,999
  960. 1:31:09characters in the login line today we learned  about the main levels of testing and their
  961. 1:31:14significance for the entire quality assurance  process and touched a little on the topic of
  962. 1:31:18positivity of scenarios in the next lesson we will  continue studying the classification of testing
  963. 1:31:24I think there will be several more lessons  like this because to fit everything within
  964. 1:31:2910 15 minutes is simply impossible and as always  I hope you found this video interesting and that
  965. 1:31:35you really learn something new for yourself about  testing if you still have any questions then do
  966. 1:31:41not hesitate to write them in the comments I will  try to answer give my feedback and don't forget to
  967. 1:31:51like And subscribe to this channel so I will know  that the work was not in vain Welcome to our Hut
  968. 1:32:04bye hello YouTube glad to see you continue  learning about testing classification today's
  969. 1:32:15lecture we'll start with the types of tests by  the importance of the functions being tested
  970. 1:32:21there are three of them these are smoke  test in critical path testing and extended
  971. 1:32:27testing type number one is smoke testing  in English language resources you can also
  972. 1:32:36find such names as intake test build  verification test in general it will
  973. 1:32:41all depend on the source from which  you will draw your knowledge about
  974. 1:32:46these types of testing smoke testing  is conducted at the initial stage
  975. 1:32:54for example after a new build a build is  an intermediate version of our product
  976. 1:33:01and primarily smoke testing is aimed at  checking the Readiness of the developed
  977. 1:33:05product for extended testing and determining  the overall state of the product's quality
  978. 1:33:13usually it's a short cycle of tests or even  just one test which confirms or denies the
  979. 1:33:19fact that the application starts or  performs its basic functions taking
  980. 1:33:23our beloved online store as an example smoke  testing is one test case when we log into the
  981. 1:33:29system search for the necessary item add it to  the card make a payment confirm it and receive our
  982. 1:33:39order so all these steps can confidently be  included in one test case and if it passes
  983. 1:33:50that is the expected actual result is the  same and we receive our product then the
  984. 1:33:55smoke testing is considered successful there  are only two possible outcomes for a smoke test
  985. 1:34:01we can say either yes or no if we say no that  is our test fails then further testing is not
  986. 1:34:11conducted we send a bug to the developer and  completely stop the testing process it is worth
  987. 1:34:21noting that smoke test should be quick and and  lightweight so that they can be run very often
  988. 1:34:28a fun fact how did such a name as smoke testing  come about there are at least two versions that
  989. 1:34:34I know of one of them is the version about  stov makers that is when stov makers finished
  990. 1:34:40building a particular stove they would light  a fire in it and if smoke came out of some
  991. 1:34:46holes which were supposed to be sealed then  people understood that some construction or
  992. 1:34:53design Pro process of the stove was violated  and the second version is related to Circuit
  993. 1:35:00designers that is when they started some  machine or superc computer if the board
  994. 1:35:06started smoking after some high load then people  also understood that some technological process
  995. 1:35:12was violated and again something needed to be  fixed therefore this type of testing got such
  996. 1:35:20a name as smoke testing the second type  of tests by importance is critical path
  997. 1:35:25testing what is it this is the main type of  testing during which significant elements
  998. 1:35:36and functions of the application are  checked for correct operation during
  999. 1:35:40standard usage that is a typical user  in typical everyday life performs their
  1000. 1:35:47typical tasks and it is exactly  these typical tasks that we check
  1001. 1:35:57most often in practice this type of testing checks  the bulk of the product's requirements for example
  1002. 1:36:03this includes font selection the ability to type  text insert images and so on and so forth critical
  1003. 1:36:10path testing can be both positive and negative  if you forgot what positive and negative tests
  1004. 1:36:17are a link will now appear above which you can  follow and refresh this knowledge in your memory
  1005. 1:36:24and the classification ends with the  extended test or extended test this
  1006. 1:36:31testing implies checking the non-standard  use of the software product for example if
  1007. 1:36:35we enter special characters in the login field  or illogically click on buttons work on many
  1008. 1:36:41tabs simultaneously that is maximally load our  system or perform some invented negative tests
  1009. 1:36:56this is what I wanted to tell you about the  tests by importance now let's talk about the
  1010. 1:37:04types of test by the goal of testing and  we will start with new feature test or
  1011. 1:37:10testing new functionality essentially this  is checking the quality of new functionality
  1012. 1:37:15put to the test and usually the new feature  test is tested with a full test that is it
  1013. 1:37:20goes through all stages starting with  smoke then critical path testing and
  1014. 1:37:25ending with extended testing testers virtually  everyday encounter new feature test that is
  1015. 1:37:42essentially new functionality comes to testers  during some Sprint we will talk about Sprints
  1016. 1:37:47a little later when we discuss such an  agile methodology as agile for initial
  1017. 1:37:53understanding you should imagine that  a Sprint is a certain period of time
  1018. 1:37:57during which the team delivers some new  functionality to our customer and presents
  1019. 1:38:03it and it is in this Sprint that new features new  functionalities which will later be tested as part
  1020. 1:38:14of the new feature test often come and probably  here it is worth noting the most important type of
  1021. 1:38:21testing which takes up the most time for testers  this is regression testing what is regression
  1022. 1:38:29testing this is testing previously verified  functionality to ensure that changes in the code
  1023. 1:38:36for example adding new functionality or fixing  a defect did not affect the operation of the old
  1024. 1:38:46functionality regression testing can be conducted  at the level of smoke critical path and extended
  1025. 1:38:53I want want to go into more detail on this type  of testing because often in interviews you may be
  1026. 1:38:59asked about some of the pitfalls associated  with this type of testing and in principle
  1027. 1:39:05in order for you to have some understanding of  why this type of testing is so important in our
  1028. 1:39:10work is this type of testing necessarily  conducted in every new build if it comes
  1029. 1:39:19to automation as you remember a build is  a intermediate version of our product this
  1030. 1:39:26type of testing can include checking fixed  box and their degree of impact on the entire
  1031. 1:39:32product or on some specific functionality and  you need to understand that regression testing
  1032. 1:39:38usually does not cover all applications but  only those areas that in one way or another
  1033. 1:39:44come into contact with changes in the build  for example if we talk about the page user
  1034. 1:39:51authorization in the system then if suddenly  some change was made related to password reset
  1035. 1:39:57usually these two functionalities login into  the system and password reset or its recovery
  1036. 1:40:03are interrelated therefore it is mandatory  in the case of such changes to check the
  1037. 1:40:09interrelated functionalities also regression  testing is is recommended to be conducted
  1038. 1:40:16several times and since there can be a lot of  functionalities in the application regression
  1039. 1:40:23testing is very often automated in order to  save time for testers and generally time for
  1040. 1:40:30testing it should be noted that the final  regression test in this large cycle consisting
  1041. 1:40:41of three to five regressions are usually  determined after setting some priorities and the
  1042. 1:40:46priorities in turn are determined by the largest  number of Errors found in the system often in
  1043. 1:40:53interview again they may ask how to select  tests for regression there is a very simple
  1044. 1:41:00algorithm that I will tell you about first  of all in regression you always need to
  1045. 1:41:05include tests that cover testing of security  or some critical important functions for the
  1046. 1:41:10business it is necessary to  include in the regression those
  1047. 1:41:19areas that change most often during development
  1048. 1:41:25also from one of the principles of testing  another principle of test selection for
  1049. 1:41:30regression follows that it is necessary  to include tests of functions with a high
  1050. 1:41:34probability of error by following the link  above you can familiarize yourself with the
  1051. 1:41:39basic principles of testing and write in  the comments which of the principles this
  1052. 1:41:44statement relates to and let's talk about  uh another type of testing such as retest
  1053. 1:41:53this is checking the result of work on a defect  checking the correctness of defect correction
  1054. 1:41:59that is when a developer sends you an already  fixed bug then you conduct a retest that is
  1055. 1:42:05you make sure that the developer really fixed  the defect and the functionality actually works
  1056. 1:42:13as it was intended in the requirements also  retest is sometimes called defect validation
  1057. 1:42:20this is the lesson we got on the classific  ation of tests by importance as well as by
  1058. 1:42:26the goal of testing I hope that this class was  interesting to you if it really was then support
  1059. 1:42:32this video with a like your subscription  if you have not yet subscribed to this
  1060. 1:42:37channel possibly a comment or a question  if you have one after watching this video
  1061. 1:42:50material and I in turn want to say thank you  very much for your support and kindly ask you
  1062. 1:42:56to our Shack [Music] bye hello YouTube today  we are going to be finishing up our topic on
  1063. 1:43:08learning about test classification it's going  to be quite lengthy so make sure to plug in and
  1064. 1:43:14listen carefully I really hope it will be useful  for you in the future let's start perhaps with
  1065. 1:43:21such a typification as testing by the degree of  [Music] automation I think it's no secret to you
  1066. 1:43:29that there are two types of testing in terms of  automation they are manual testing which we are
  1067. 1:43:36studying in this course and automated testing  in manual testing testers manually execute
  1068. 1:43:43tests without using any automation tools automated  testing uses special software to control test EXE
  1069. 1:43:53ution and compare expected and actual results  it automates repetitive tasks to maximize test
  1070. 1:44:00coverage the primary targets for automation  are regression testing which consumes a
  1071. 1:44:19significant amount of time and involves  the repetitive exec ution of tests we have
  1072. 1:44:24already performed and smok testing which is  conducted initially if you need a refresher
  1073. 1:44:30on this please refer to the previous lesson  where I discussed this type of testing in
  1074. 1:44:34detail there is a common opinion that automated  testing will completely replace manual testing
  1075. 1:44:45however this is not entirely true as not all  functionalities can be thoroughly tested solely
  1076. 1:44:50by written automated tests or scripts that's  why why manual developers will always remain
  1077. 1:44:55relevant and there will always be work available  for them nowadays it has become quite popular
  1078. 1:45:03to have hybrid teams which means having both  manual and automated testers working together
  1079. 1:45:08for example sometimes manual testers write some  test scripts and give them to automatizes who
  1080. 1:45:15later write consistent program code a script  and perform these tests in other words we get
  1081. 1:45:21a kind of symbiosis between manual testers and  automatizes the second issue I would like to
  1082. 1:45:27address in this class is the systematization of  code knowledge testing there are three distinct
  1083. 1:45:34types of code knowledge testing that we need  to consider these types are known as Black Box
  1084. 1:45:39testing white box testing and gray box [Music]  testing blackbox testing or blackbox testing
  1085. 1:45:52we don't know how the the system under test  is organized you may also find names for this
  1086. 1:45:56testing such as specification based testing  or behavioral testing what does it mean it is
  1087. 1:46:02a testing technique based on working exclusively  with the external interfaces of the system under
  1088. 1:46:09test that is we don't know the program code at  all an example would be when a tester tests a
  1089. 1:46:17website without knowing the specifics of its  implementation using only the fields water and
  1090. 1:46:23buttons provided by the developers the source of  the expected result will be a specification that
  1091. 1:46:29is we are only testing the gue the graphical  user interface unlike blackbox testing white
  1092. 1:46:35box testing or white box testing is the following  we know all the details of the implementation of
  1093. 1:46:41the tested program that is it is such a method of  software testing that assumes that the internal
  1094. 1:46:47structure its design and implementation are known  to the tester an example would be when a tester
  1095. 1:46:58who is usually either an automator or possibly  a programmer examines the implementation of the
  1096. 1:47:03input field code on a web page determines all  the intended both correct and incorrect user
  1097. 1:47:09inputs and compares the actual result of the  execution of the program with the expected one
  1098. 1:47:16in this case the expected result is determined  exactly by the way the program code should work
  1099. 1:47:23and the last type of testing by code knowledge  is gray box testing or gray box testing here we
  1100. 1:47:29already know only some peculiarities of the  implementation of the systems being tested
  1101. 1:47:34this is such a method of software testing which  implies a combination of the two previous ones
  1102. 1:47:40that is we know the internal structure of the  program only partially for example we know the
  1103. 1:47:48internal structure and algorithm of software  operation in order to write write the most
  1104. 1:47:53effective test cases but the testing itself is  conducted using the blackbox technique which
  1105. 1:48:00means taking the position of our end user this  brings us to the most fascinating part of our
  1106. 1:48:05lesson today functional and nonfunctional testing  so what is it functional testing is one of the
  1107. 1:48:13types of testing aimed at verifying that the  functional requirements of the software match
  1108. 1:48:20its actual characteristics the key Point here  is functional requirements essentially we are
  1109. 1:48:25testing what our system actually does the primary  objective of functional testing is to ensure that
  1110. 1:48:31our product under development includes all the  functionalities that the customer needs this
  1111. 1:48:36type of testing is conducted at all levels and as  I mentioned earlier it verifies what the system
  1112. 1:48:42does unlike functional testing the purpose  of which is to check whether the real product
  1113. 1:48:51function corresponds to the fun functional  requirements as you have probably guessed
  1114. 1:48:55the purpose of non-functional testing is to check  whether the application properties correspond to
  1115. 1:49:01its nonfunctional requirements that is in this  type of testing we are testing how our system
  1116. 1:49:07works in essence it is testing of properties  that are not related to the functionality of
  1117. 1:49:12the system these properties are determined by  the functional requirements such a property can
  1118. 1:49:19include for example reliability which refers to  the the system's reaction to unforeseen situations
  1119. 1:49:26in this case testing methods such as failure and  Recovery testing will apply to this particular
  1120. 1:49:30property in English it will be referred to  as failover and Recovery testing this means
  1121. 1:49:39it is an examination of a program system's  ability to recover from errors and failures
  1122. 1:49:43the second property to consider is performance  which means the systems functionality under
  1123. 1:49:49various loads in reality performance testing  incom is a vast array of skills and tools
  1124. 1:49:55therefore there are specialized testers who  Focus solely on this type of testing that is
  1125. 1:50:02if you are interested in it of course you can  go to specialized courses study read special
  1126. 1:50:06literature and uh use already performance  testing techniques in your practice what is
  1127. 1:50:13it performance testing includes various tests  aimed at assessing an application's performance
  1128. 1:50:21stability resource usage and other quality  attributes under different scenarios and loads
  1129. 1:50:28additionally performance testing itself  can be categorized into several specific
  1130. 1:50:32[Music]
  1131. 1:50:38types in low testing we check the performance  under normal conditions that is if it is stated
  1132. 1:50:48that a thousand users should be present on  the site at the same time we create such
  1133. 1:50:52special conditions for example in theer program  when we load our system with a number of users
  1134. 1:50:59which will probably be a little less than  this thousand and ensure that everything
  1135. 1:51:04is truly okay during stress testing we  evaluate the performance of our system
  1136. 1:51:08under extremely heavy loads for instance  this could be when there are thousands of
  1137. 1:51:12users accessing the site simultaneously  or perhaps even more stability testing
  1138. 1:51:17involves examining our application to see how  it performs under extended periods of operation
  1139. 1:51:23I believe there's no need for an explanation here  volume testing is distinguished by the fact that
  1140. 1:51:28we evaluate our system under conditions with  increased volumes of data being processed that
  1141. 1:51:34is for instance when the same thousands of users  simultaneously send an any number of megabytes of
  1142. 1:51:40information moving on to the next non-functional  property we can refer to convenience which is
  1143. 1:51:45essentially the study of the usability of the  application from the user's perspective this
  1144. 1:51:50aspect can be evaluated through usability testing  meaning conducting usability tests the usability
  1145. 1:51:56check of the application involves evaluating  the Conformity of the applications designed with
  1146. 1:52:01its functionality as specified by the customer  additionally we investigate the graphic elements
  1147. 1:52:07used and the color designs in terms of how they  are perceived by our users we also assess the
  1148. 1:52:14ease of navigation and the links present on the  site analysis of the textual content of the site
  1149. 1:52:22there is also also such a characteristic as  learnability for example if our user for the
  1150. 1:52:26first time went to a resource how quickly he  can figure out how to use it for example on
  1151. 1:52:31some previous experiment when he used similar  application from our competitor so if we don't
  1152. 1:52:39take all of these aspects into account the user  will most likely move on to our competitor if they
  1153. 1:52:45suddenly find it inconvenient to use our product  this type of testing is very common nowadays and
  1154. 1:52:51it holds significant Val value furthermore there  are distinct groups of testers Specialists who
  1155. 1:52:56concentrate on usability testing there are also  specialized courses that enable you to learn these
  1156. 1:53:02techniques thoroughly another important property  is security specifically the security of user
  1157. 1:53:09data these are also quite extensive and crucial  areas of testing there are once again specialized
  1158. 1:53:15testers who Focus specifically on security testing  these are distinct areas for instance in this
  1159. 1:53:17context we can examine how accessible the system  is to an unauthorized user or how simple it is for
  1160. 1:53:20an unauthorized individual to gain access to the  data security testing involves various methods and
  1161. 1:53:23strategies to ensure that the system is protected  against potential threats and vulnerabilities it's
  1162. 1:53:27crucial to understand the different aspects of  security testing to safeguard the integrity and
  1163. 1:53:30confidentiality of the data here we thoroughly  test how the security of our software product
  1164. 1:53:36is realized another important property we examine  is portability which means the ability to transfer
  1165. 1:53:42our application to different Platforms in this  context we can utilize various types of testing
  1166. 1:53:47such as installation testing and configuration  testing regarding in installation testing we
  1167. 1:53:53verify the success of the application installation  its customization updating and uninstallation
  1168. 1:54:00processes when it comes to configuration testing  we examine the performance of a program system
  1169. 1:54:05under various program configurations additionally  crossplatform and cross browser testing fall
  1170. 1:54:13under this category of testing I think it  is not necessary to explain in great detail
  1171. 1:54:21here what it is I think it is clear to everyone  crossplatform means that we test our product on
  1172. 1:54:27different types and versions of os for example  if we are talking about a cell phone it can be
  1173. 1:54:34Android or iOS and also in Cross browser testing  we use our application on different browsers be
  1174. 1:54:41it Chrome Mozilla or Opera we should also talk  about localization testing and internalization
  1175. 1:54:47testing the very often you can find such  abbreviations as l10n i18n that is to not
  1176. 1:54:58be frightened if you see them perhaps there will  be some testing somewhere at the interviews or
  1177. 1:55:03you will be asked how you can abbreviate  these names just memorize it these are
  1178. 1:55:08basically abbreviations for their English names  as for localization testing it's the process of
  1179. 1:55:14adapting our software products to the language  and culture of the client for example if we are
  1180. 1:55:18entering some other market for example uh an  english- speaking Market market then we have
  1181. 1:55:24to verify whether our product is completely  translated into this language or perhaps there
  1182. 1:55:30are some Financial designations used there  for example the pound we need to check that
  1183. 1:55:35as well we can also incorporate controler  format date and time legal peculiarities
  1184. 1:55:40of the state we are entering user keyboard  layout control of symbols and colors and
  1185. 1:55:45other aspects that might be related to this or  that local on which we will present our product
  1186. 1:55:57unlike localization internationalization  testing also covers how well our product
  1187. 1:56:03can be adapted to specific locals for instance  When developing a product we need to consider
  1188. 1:56:10the potential for unic coding coding this is  a standard that supports nearly all languages
  1189. 1:56:16globally and it's crucial for ensuring broad  compatibility or we must include in the
  1190. 1:56:22application the possibility of supporting  elements that cannot be localized in the
  1191. 1:56:27usual manner for instance it could be vertical  text in Asian countries or reading from right to
  1192. 1:56:33left in Arab countries that is even if we do not  currently use our application in Asian countries
  1193. 1:56:39for example we still need to Envision that in the  future this application can enter these markets as
  1194. 1:56:45well so we have to test internalization  as well there is also such a gradation
  1195. 1:56:55as script execution testing sometimes in  interviews they ask for example what is
  1196. 1:57:00ad hoc testing and not everyone can answer this  question let's understand a little bit what it
  1197. 1:57:06is here we can distinguish two types of testing  these are exploratory testing and ad hoc testing
  1198. 1:57:21ad hoc testing is testing without using any  specifications plans and develop test cases
  1199. 1:57:27it is your pure improvisation that is for  example you have received an application
  1200. 1:57:31for the first time and on some empirical  intuitive level you understand how to work
  1201. 1:57:39with it exploratory testing as opposed to ad hoc  is a more formal version of testing it doesn't
  1202. 1:57:47require writing test cases but at the same time  it implies that each subsequent test is ch chosen
  1203. 1:57:52based on the result of the previous test or  if you know how your application works that
  1204. 1:57:58is it is not the first time you see it then  you can also follow some kind of plan without
  1205. 1:58:04necessarily documenting it that means you know  the expected result in a module and you test it
  1206. 1:58:10but you don't document it formally the last one  is scenario testing which is our classic testing
  1207. 1:58:22by pre-written and already documented test  scenarios there's also such a classification
  1208. 1:58:29as by running code if you remember the lesson  about verification and validation we talked
  1209. 1:58:40to you that verification is a static check and  validation is a dynamic check this applies to
  1210. 1:58:47this classification as well that is there is  static testing and dynamic testing in static
  1211. 1:58:53testing it is not assumed that the program code  will be executed during testing then we don't
  1212. 1:59:01start it static testing starts at the early stages  of the software life cycle and is a corresponding
  1213. 1:59:07part of the verification process this can include  testing of any form of documentation such as code
  1214. 1:59:14deduction inspection of design documentation  functional specifications and our requirements
  1215. 1:59:23Dynamic testing involves launching program code to
  1216. 1:59:26analyze Its Behavior while running for  non-functional testing there's also Gua
  1217. 1:59:31testing that is it is checking whether the  application complies with the requirements
  1218. 1:59:48of the graphical interface how professional it  looks whether it is made in the same style that
  1219. 1:59:54is whether the buttons we have on the mockup  are in the same place that is in the template
  1220. 1:59:59provided by the designer that is we check all  this when testing the GUI and uh is also such
  1221. 2:00:05an interesting area as accessibility testing or  in English it sounds accessibility testing that
  1222. 2:00:15is here we test the compliance of software with  generally recognized accessibility standards
  1223. 2:00:22it must be accessible for use by people with  disabilities there is a separate document that
  1224. 2:00:28regulates how our application should be accessible  for such people again this is a separate area of
  1225. 2:00:36testing so I will not do all on it in detail but  it's a very interesting one it's worth noting that
  1226. 2:00:42a lot of people have the misconception that  people with disabilities must have some kind
  1227. 2:00:46of health problem that prevents them from using  our software in fact this is not quite the case
  1228. 2:00:52such people for example can include those who for  example are driving in a car and concentrating on
  1229. 2:00:59traffic that is looking at the road but at the  same time he is using some kind of Gadget that
  1230. 2:01:07is he is limited in his abilities he cannot see  that happens on the screen of her smartphone but
  1231. 2:01:14can for example here or if a woman has a child for  example she holds it in one arm and uses again our
  1232. 2:01:21gadg at the smartphone she has to use only one  arm this limits her movements we must consider
  1233. 2:01:30that possibility too it's not always people with  disabilities who face health issues this final
  1234. 2:01:37session on classification and testing is extensive  initially I thought of splitting it into several
  1235. 2:01:44sessions but I realized we had already covered  this topic extensively so I hope you found this
  1236. 2:01:52interesting if you have any questions at all  be sure to ask them in the comments below also
  1237. 2:01:55don't forget to subscribe to this Channel and  put your likes your support is very important
  1238. 2:02:01to me and that's all for now Welcome to our tent  [Music] goodbye hello YouTube in today's session
  1239. 2:02:18we are going to continue our study of testing and  discuss very software development models except
  1240. 2:02:24perhaps agile methodologies this topic is quite  extensive so we will devote a separate lesson
  1241. 2:02:31to it and the first model we will talk about  is the classic Model of software development
  1242. 2:02:39uh it is called the waterfall model or Cascade  model in English it is known as the waterfall
  1243. 2:02:45model in this model each stage of development  in the appropriate stage of the software life
  1244. 2:02:54cycle continues the previous one on the left  you can see a diagram of the waterfall model it
  1245. 2:03:00is already familiar to you we discussed it in the  very first lesson what would you like to note from
  1246. 2:03:07the peculiarities of this model as you can see in  order to move to a new stage we must completely
  1247. 2:03:13finish the current one that is if we are talking  about the requirements Gathering stage we cannot
  1248. 2:03:20move to the analysis stage until we finish  gathering the requirements the same applies
  1249. 2:03:25to the design phase coding development testing and  support of our system the Cascade model is quite
  1250. 2:03:31simple and straightforward however it is somewhat  outdated and not as practical as it once was given
  1251. 2:03:40that we are currently in an era of dynamically  changing and evolving requirements this type of
  1252. 2:03:45structured process can turn the advantages the  system used to offer into some significant and
  1253. 2:03:51disadvantages let's talk about such pros  and cons of waterfall model as for the
  1254. 2:04:00pros of the Cascade model the pros include full  documentation of each step meaning that we will
  1255. 2:04:07always have clear requirements available to  us also we can always plan our timelines and
  1256. 2:04:14costs clearly and for the customer our processes  will be quite transparent because they will know
  1257. 2:04:20at what time this or that stages launched how  much time will be spent on its realization and
  1258. 2:04:26can calmly track it as for the disadvantages of  the waterfall model they include the following
  1259. 2:04:34first the complete scope of requirements  for the system must be approved before the
  1260. 2:04:39project begins if we need to make changes  to the requirements later we cannot go back
  1261. 2:04:44to the first stage and we will have to redo all  of our work Additionally the disadvantage which
  1262. 2:04:51is also include the increase in costs and  time if it becomes necessary to change the
  1263. 2:04:56requirements as I have already said in this case  we will have to go back to the very first stage
  1264. 2:05:05and start working again we have written down all  the pros and cons now let's talk about when this
  1265. 2:05:11model of software development is used at all first  of all in projects with well- defined requirements
  1266. 2:05:20for which there is no provision to change them  during the development process the very first
  1267. 2:05:24example that comes to my mind is some government  agencies or some banking structures this is
  1268. 2:05:30typically where this particular development model  is employed it is also utilized for projects that
  1269. 2:05:38are migrating from one platform to another that  means the requirements stay the same and only
  1270. 2:05:44a specific system environment changes or when  the development company is not responsible for
  1271. 2:05:50performing testing for instance if the company is  only responsible for developing the program code
  1272. 2:05:58and testing will be conducted by the customer  or another party to the next development model
  1273. 2:06:04we can refer to the V model or the model of  software development it is a modified version
  1274. 2:06:13of the classical Cascade model here as you  can see on the scheme the current process is
  1275. 2:06:18controlled at each stage to ensure it is possible  to move to the next level in this model testing
  1276. 2:06:24begins at the stage of requirements writing and  each subsequent stage has its own level of test
  1277. 2:06:30coverage here the development process is  represented by a descending sequence in
  1278. 2:06:43the left part of our conditional letter V  and the testing stage on its right Edge the
  1279. 2:06:50correspondence between the stages of development  and testing is shown by horizontal lines the pros
  1280. 2:06:58and cons of V models are as follows first we  have strict stages This Is Us discussing the
  1281. 2:07:05pros secondly the planning testing and  verification of the system itself are
  1282. 2:07:10done at early stages let's write early testing  which aligns with the principle of testing I
  1283. 2:07:17discussed in one of our earlier lessons and we  also have a stage called intermediate testing
  1284. 2:07:24this means that unlike the Cascade model where  intermediate testing was not possible and was
  1285. 2:07:30strictly after the development stage of our  software here we can conduct testing at every
  1286. 2:07:36level regarding the disadvantages we still  face the inflexibility of our model [Music]
  1287. 2:07:46here the program itself is written and created  during the code writing stage that is as we can
  1288. 2:07:55observe from our scheme it occurs in the middle  of the development process we do not have the
  1289. 2:08:02possibility to make any Dynamic changes this  is because all the stages follow each other
  1290. 2:08:09in sequence anyway when do we use this type  of development model typically it is used
  1291. 2:08:15in projects where there are certain time and  financial constraints and and for tasks that
  1292. 2:08:24require a broader approach compared to the  previous Cascade [Music] model model test
  1293. 2:08:35coverage this is what our final mind map looks  like I hope you have no questions about this
  1294. 2:08:40particular software development model and now  let's move on to the next one before this you and
  1295. 2:08:46I discussed sequential software development models  however not all all life cycle models follow a
  1296. 2:08:54sequential approach they are also iterative or  incremental models which use a very different
  1297. 2:09:02methodology here instead of one long sequence  of actions the entire product life cycle is
  1298. 2:09:13uh segmented into several distinct minic  Cycles it is important to note that each
  1299. 2:09:18of these Cycles comprises the same state Es as  in other software development models these minic
  1300. 2:09:26Cycles are referred to as iterations during each  iteration a specific component of the system is
  1301. 2:09:32developed afterward this component is integrated  into the previously developed functionality and
  1302. 2:09:40so that entire process is collectively known as  incremental I believe each of you is familiar with
  1303. 2:09:47a model such as plan do check and act each stage  of development corresponds to one of these sectors
  1304. 2:09:57for instance planning would be the phase Where  We Gather requirements the due sector involves
  1305. 2:10:04analyzing drawing something creating designs  and writing program code testing falls under
  1306. 2:10:10the check sector an act represents the review  phase which includes evaluation revising current
  1307. 2:10:16requirements and proposing additions to them and  in eventually a point is reached where where all
  1308. 2:10:21the requirements will be embodied in our product  and the release happens now let's talk about the
  1309. 2:10:25pros and cons of this model first of all the  pluses include the fact that we have the early
  1310. 2:10:29creation of working software since our aerations  are usually short in time we can deliver some of
  1311. 2:10:33the the functionality and our product in a small  amount of time and very quickly this means that we
  1312. 2:10:38can see results early on which helps in making  adjustments and improvements based on feedback
  1313. 2:10:41additionally U this approach allows for better  risk management as issues can be identified and
  1314. 2:10:46addressed sooner rather than later overall the  ability to produce working software early in
  1315. 2:10:49the process is a significant advantage of the  model it is also an advantage that such systems
  1316. 2:10:55are generally very flexible meaning they are  prepared for changes in requirements at any
  1317. 2:11:00stage of development as I mentioned earlier these  iterations take a a relatively short amount of
  1318. 2:11:10time if we refer to such a framework in agile  methodology like agile it typically spans from
  1319. 2:11:172 weeks to 4 weeks and it is this iterative model  that has given rise to Agile methodologies so it's
  1320. 2:11:25always easier to conduct testing and perform risk  analysis for just a small part of our product life
  1321. 2:11:31cycle and if we're talking about the  cons each phase is an independent unit
  1322. 2:11:40of some kind and the individual  iterations do not overlap each
  1323. 2:11:45other and unlike more classical models  for example example if we even consider
  1324. 2:11:52the same Cascade model not always are all the  requirements known by the beginning of the design
  1325. 2:11:59phase this can also complicate the work  and implementation of our overall system
  1326. 2:12:07architecture when should we use an iterative model  usually it is well suited for some large projects
  1327. 2:12:17when we do not know all the requirements but we  know at least some key requirements and when the
  1328. 2:12:24requirements we know exactly what will change  during the development process and as I have
  1329. 2:12:31already said it is the iterative iterative model  that became the ancestor of agile approaches to
  1330. 2:12:39software development we will talk to you about  agile approaches in one of the next lessons I
  1331. 2:12:46guess that's all I wanted to tell you in this  lesson I hope that it was useful to you as usual
  1332. 2:12:52and that you now have a little more understanding  and understanding of all the models that there are
  1333. 2:13:00in software development and when you come to work  in a company where one of these models is used you
  1334. 2:13:06will not be confused and will be able to quickly  figure out how to work in the realities of this
  1335. 2:13:12particular model the question about software  development models is often enough asked at
  1336. 2:13:19a job interview so be sure to note for yourself  the pros and cons of each of these methodologies
  1337. 2:13:28and be sure to remember where they can be applied  and that's all for now subscribe to this channel
  1338. 2:13:35as usual the new video won't be long incoming  we'll see you very soon Welcome to our tent bye
  1339. 2:13:53[Music] hello YouTube today's lesson will be  dedicated to such important test artifacts as test
  1340. 2:13:59cases and checklists after all it is their correct  creation that will first and foremost determine
  1341. 2:14:05the efficiency of your testing as well as the  ability of other team members whether it's a
  1342. 2:14:11tester or even a developer to smoothly understand  how to conduct a test and its proper launch there
  1343. 2:14:20are two main types of test documentation  in order to run a proper and efficient
  1344. 2:14:25[Music] test this is a checklist and  test case let's begin with a simpler
  1345. 2:14:35type of test documentation which is a  checklist when we talk about a checklist
  1346. 2:14:42first and foremost it is a specific  list of checks it shows what we plan
  1347. 2:14:48to test and consequently the result and  status of these checks this list itself
  1348. 2:14:54includes what we intend to do what we  must not forget and what we will check
  1349. 2:15:00directly so this is a kind of highlevel  set of ideas for our tests now let's take
  1350. 2:15:10a look with you at the highlights of a good  checklist first it includes the version of
  1351. 2:15:16our build the specific environment  on which the testing was conducted
  1352. 2:15:21the exact date of our test and the tester  who performed this testing additionally
  1353. 2:15:27in the checklist there can be the type of tests  that we use for each specific test the detailed
  1354. 2:15:35title of the tests themselves and the result of  our testing that is to say whether this check
  1355. 2:15:41passed or not and also to simplify our work  we have taken some separate modules of our
  1356. 2:15:47application the main modules and for them all  the checks are already described as you can see
  1357. 2:15:54the name of the checklist reflects the name  of the application our test application was
  1358. 2:16:00a calculator that is we used this checklist  for it also the checklist can contain a list
  1359. 2:16:08of unique identifiers for each check so that you  can also safely find them in our system and give
  1360. 2:16:14them a reference in some other artifacts that we  will use in testing there may also be a reference
  1361. 2:16:27to a bug we have discovered if again we already  have this checklist in use in some backtracking
  1362. 2:16:34system and uh we can the bug based on the result  of some check if in fact the result is different
  1363. 2:16:40from the expected one also in the description to  this video I will give links to those materials
  1364. 2:16:48that help me to understand this issue that is  there will be some sample checklists available
  1365. 2:16:54that you can also use for your preparation you  can get your hands on these checklists and then
  1366. 2:16:59utilize them to perform the test tasks or even  in your main job let's go through it together
  1367. 2:17:05and finalize what the checklist is all about as  I have already mentioned it is a checklist this
  1368. 2:17:15list shows what needs to be tested and must  necessarily include the results of our checks
  1369. 2:17:21let's talk to you now about another kind of  artifact in another kind of test documentation
  1370. 2:17:27the test cases this type of test documentation  differs from checklist in the following ways
  1371. 2:17:35first of all here we will already have steps that  is it is a kind of step-by-step scenario here we
  1372. 2:17:42will already have low-level checks that is they  will be more detailed and unlike the checklists
  1373. 2:17:48in which we said what we would test here we we  already describe how we will test again here
  1374. 2:17:54will be the result of our test cases also the  test case is bound to have a header there might
  1375. 2:18:00be a priority or the order of execution of our  test case and a number of other attributes that
  1376. 2:18:09I will tell you about a little bit later the most  important thing that you have to internalize when
  1377. 2:18:15putting together a test case that here we have  some Trinity of basic attributes these are our
  1378. 2:18:24action to be performed which is the step-by-step  scenario the expected result and the actual
  1379. 2:18:31result in the future our test cases can be  grouped into sets of test cases which are
  1380. 2:18:39known as test Suites let's also note that there  is a type of documentation called a test Suite or
  1381. 2:18:47test Suite in English sometimes a test Suite  is referred to as a collection of test cases
  1382. 2:18:53where the outcome of executing each test case  provides some preconditions necessary to start
  1383. 2:19:03executing the next one in other words these cases  follow each other in sequence and now let's take
  1384. 2:19:11a look at how TSU is generally compiled and what  it might look like specifically for this purpose
  1385. 2:19:18we will create a separate document where where  we will further introduce our test cases let's
  1386. 2:19:24name each column according to the attributes  that should be present in a good test case the
  1387. 2:19:31first one should be the identifier which will be  unique for each of our test cases there can also
  1388. 2:19:38be an attribute such as priority or this column  could represent the type of test that is being
  1389. 2:19:44conducted for this test case Additionally you  can reference the requirement that our test
  1390. 2:19:54case is related to meaning the requirement we  are checking including the module title is also
  1391. 2:20:01a good idea uh next uh describe the title  this should reflect the main essence of our
  1392. 2:20:08test case then describe the steps to reproduce  it finally include the expected result [Music]
  1393. 2:20:22usually it is spelled out for each step  however this is not always necessary and
  1394. 2:20:29sometimes the expected result is only spelled  out for the last step but if we are talking
  1395. 2:20:34about this document about test cases for  training future employees for example if
  1396. 2:20:40you come to some company where there will be  well documented test cases that is there will
  1397. 2:20:44be well documented steps to reproduce this test  case and also the expected result for each step
  1398. 2:20:51will be described it will be easier for you  to learn to work in this system learn about
  1399. 2:20:57it that is test cases are very often used to  train employees in order for them to form an
  1400. 2:21:03idea of the program this contributes to  uh rapid ass simulation of information
  1401. 2:21:09and the introduction of Specialists to the  project and also we should have an actual
  1402. 2:21:15result if we are talking about the fact that  we have already prescribed the expected result
  1403. 2:21:22so now you and I have created a template  for completing the test case within Excel
  1404. 2:21:29small companies can use for example Google  Sheets to manage their test cases and share
  1405. 2:21:36them with other team members or if we're  talking about companies that can afford
  1406. 2:21:41some paid resources for tracking test  cases and executing them then you can
  1407. 2:21:46buy for example test Trail and work with  it or there is also a system called test
  1408. 2:21:51link jir the back tracking system that we're  going to talk to you about a little bit later
  1409. 2:22:02also has a plugin called Zephyr that allows  to store test cases and run them so it all
  1410. 2:22:11depends on the financial capacity that the  company has you can also for yourself sign
  1411. 2:22:16up or for a test case there is a real  version for 30 30 days and also try to
  1412. 2:22:23start test cases there run them see how it  works this system feel it out so it's all
  1413. 2:22:30up to you in this class we are not going to  work with you with test rails everything is
  1414. 2:22:36quite simple intuitive there but in order for  you to understand how to fill out a test case
  1415. 2:22:43in general and what you should specify in  it let's try to create one such test case
  1416. 2:22:51everything is quite simple if we are talking about  an identifier there will be a unique number let's
  1417. 2:22:58assign it the number one here we either spell  out the execution priority for example this will
  1418. 2:23:04be the first order of magnitude we run this test  first alternatively we can write the type of test
  1419. 2:23:11we are using for instance this would be a smoke  test since we don't have any specific requirements
  1420. 2:23:19we can come up with some on our own again  let's consider Recon the new user registration
  1421. 2:23:25module when discussing the title let's specify for  example new user registration using a cell [Music]
  1422. 2:23:32[Music] phone yes it's important to note that  you should have this pattern creating test cases
  1423. 2:23:49firmly established lished in your mind first  we create simple test cases and then we move
  1424. 2:23:55on to more complex ones when it comes to simple  test cases we start with positive scenarios if
  1425. 2:24:02you and I recall the lesson dedicated to positive  and negative tests I explain the main differences
  1426. 2:24:08between them and what you should prioritize to  summarize I will remind you that we always begin
  1427. 2:24:14with positive scenarios first because initially  we need to verify that our system works as per
  1428. 2:24:21our requirement as that was planned and it  will be interesting for our customer to know
  1429. 2:24:29first that indeed the system works out those  scenarios positive scenarios and can quietly
  1430. 2:24:35already be launched for our users in use by them  at the top you will now see a link to the sessions
  1431. 2:24:44devoted to negative and positive tests where I  talked in more detail about their differences
  1432. 2:24:50and how to run them make sure to thoroughly  review it to refresh your memory on this
  1433. 2:24:56information now let's discuss a block like steps  for instance Begin by starting the site next enter
  1434. 2:25:09your cell phone number in the designated  field and wait for an SMS with a code once
  1435. 2:25:16you receive it enter the code into the feeli  that appears and then click the registration
  1436. 2:25:24button these are the assumed steps for this  test case let's correct it by not starting
  1437. 2:25:31the site but opening the site additionally  there should be a link to this site included
  1438. 2:25:36Here and Now for each step we need to write  down our expected result first open the site
  1439. 2:25:48let's assume that the site is currently  loading then enter the cell phone number
  1440. 2:25:53into the designated field the phone number  should be displayed in the mobile field next
  1441. 2:25:59the code will be sent to the provided phone  number this code will then be displayed in
  1442. 2:26:06a new field after that a successful registration  message should appear finally when we perform our
  1443. 2:26:13test case directly together we will compare  the expected result with our actual result
  1444. 2:26:28[Music]
  1445. 2:26:29and in the case of any inconsistency we  might have a defect let's go ahead and add
  1446. 2:26:37such a column here as well in this column we will  simply insert the number of our defect so that in
  1447. 2:26:43the future we can easily track where it is and  what test case it is related to this is what a
  1448. 2:26:50test test case looks like within Excel as I  mentioned earlier there are separate systems
  1449. 2:26:57where you can track all of these enter our  test cases and run them directly within that
  1450. 2:27:03[Music]
  1451. 2:27:07system so I believe you will not have any  problems with that quite often employers
  1452. 2:27:17send test assignments in which they ask you to  write detailed test cases for a certain module
  1453. 2:27:24or perhaps to test specific functionality  therefore it is essential to have a thorough
  1454. 2:27:30understanding of how to create test cases  get a good handle on it and then use this
  1455. 2:27:35template to successfully pass such test [Music]  assignments also at the uh interviews themselves
  1456. 2:27:44very often shows some functionality for example  a screenshot of the screen of some application
  1457. 2:27:51where you are also asked to write some test case  is already within the framework of your technical
  1458. 2:27:56interview technical interview um I would also  like to mention the fact that as you may have
  1459. 2:28:04already noticed impersonal verbs are used here  that is we never write verbs such as open I will
  1460. 2:28:12open so we always put ourselves in the shoes  of some unknown user who will performed this
  1461. 2:28:19task there therefore everything here should  be maximized and impersonal so that a person
  1462. 2:28:25having read your steps and expected result  can carry out this test case without being
  1463. 2:28:31tied to any specific personality looking  a little ahead the same model is used when
  1464. 2:28:37creating reports and defects where we use any  impersonal verb when describing this or that
  1465. 2:28:46action and to conclude clude our lesson I would  like to tell you more about the criteria for
  1466. 2:28:53choosing one or another test documentation for  a project first it depends on the complexity of
  1467. 2:29:02our project in general if we are talking about  some simple project it is quite enough to use
  1468. 2:29:08a checklist but if our project becomes more  complex there are a lot of requirements that
  1469. 2:29:14are quite difficult to implement and there  are a lot of aspects that we have to check
  1470. 2:29:20and we need some more detailed checks  then then of course it is better to use
  1471. 2:29:26test cases the second aspect is the duration  of our project if we are talking about some
  1472. 2:29:34small projects in terms of duration then  it is more logical to use checklists if
  1473. 2:29:39our project is long then we should use test  cases also related to the complexity of the
  1474. 2:29:44project is its size that is the bigger the  project the more people are involved in it
  1475. 2:29:50it if there is a possibility that our team will  be joined by new Specialists who will need to be
  1476. 2:29:55trained then again here is where better to use  test cases and again if we talk about the team
  1477. 2:30:04itself if it changes frequently there is such an  aspect as stability again test cases are used if
  1478. 2:30:10our requirements are not subject to very strong  changes then it is also better to use test cases
  1479. 2:30:23is quite difficult to maintain that is if we  change our requirements very often we need
  1480. 2:30:28to constantly make changes in the test case the  checklist is easier to work with as you've seen
  1481. 2:30:36it's a simple document so it just covers some  general things about our required testing and
  1482. 2:30:41it's very easy to make changes to it and we should  not forget that in many ways the choice of this or
  1483. 2:30:49that test document ation may depend on the wishes  of our customer for example even if our project
  1484. 2:30:57is simple and fast but a customer wants to be  more involved in the process so that the process
  1485. 2:31:02is transparent to him he may choose such test  documentation like test cases and in such a case
  1486. 2:31:11we will not be able to refuse him and we will use  exactly them in our work that's all for today I
  1487. 2:31:20hope that this lesson has helped you to understand  such types of test documentation as checklists
  1488. 2:31:27and test cases and you will be able to use them  without any problems when performing test tasks
  1489. 2:31:33for your future employers or to successfully pass  the interview and further use these techniques in
  1490. 2:31:40order to effectively and successfully create test  documentation already on your current projects
  1491. 2:31:47in the next lesson we will discuss the two most  popular test design techniques these techniques
  1492. 2:31:53are frequently mentioned during interviews both  when you are being asked questions and when you
  1493. 2:31:58are asking them after this lesson you will be  able to apply these test design techniques to
  1494. 2:32:05create optimal test cases this will allow you to  test your application in the shortest possible
  1495. 2:32:11time but with maximum efficiency for both you  and your customer we would really appreciate it
  1496. 2:32:18if you could subscribe to our Channel and share  your thoughts on this video we look forward to
  1497. 2:32:23seeing you in our next class Welcome to our  shalash goodbye for [Music] now hello YouTube
  1498. 2:32:41in this lesson we are going to discuss the two  most famous and popular test design techniques
  1499. 2:32:46that I frequently use in my work these techniques  are are also the ones most often asked about in
  1500. 2:32:52job interviews and test assignments in fact  there are many more test design techniques
  1501. 2:32:57out there and you can read more about all of  them in the book titled a practitioner's guide
  1502. 2:33:03to software test design by Lee Copan I will  leave the title of the book in the description
  1503. 2:33:10[Music] below let's understand what test design  is it is a stage in the testing process of our
  1504. 2:33:22software where test cases the ones I mentioned in  the last lesson are designed and created according
  1505. 2:33:30to Quality criteria defined earlier in test  objectives in simple words this means coming
  1506. 2:33:37up with our tests that is designing them test  design has two main [Music] goals the first thing
  1507. 2:33:49is that we need to come up with tests that can  detect the most serious bugs in our product
  1508. 2:33:57and the second goal is to minimize the number of  such tests since we have already figured out what
  1509. 2:34:04test design is let's talk about these two popular  techniques that testers use in their work almost
  1510. 2:34:10every day first it is equivalent partitioning  also known as equivalence class testing
  1511. 2:34:21and the second type is boundary value analysis  now let's begin of course with equivalent
  1512. 2:34:30partitioning first let's understand together  what an equivalence class is it refers to input
  1513. 2:34:39data that is processed by our application in  the same manner or whose processing results
  1514. 2:34:45in the same outcome in order to fully grasp  what an equivalence class entails let's start
  1515. 2:34:53by parsing the following example right away  we have a task at hand um let's imagine that
  1516. 2:35:00there is a company where the decision to hire an  applicant depends on their age the conditions for
  1517. 2:35:07our example will be as follows if the age of our  applicant ranges from 0 to 13 we will not hire
  1518. 2:35:15such an employee if the the age is between 14  and 17 then there will be a part-time position
  1519. 2:35:23available if from 18 let's say to 55 is  fulltime and from 56 to 99 we don't hire such
  1520. 2:35:36[Music] employees and as you and I can see we  have already formed four equivalence classes
  1521. 2:35:49as I said said this is a certain range of values  which is processed by our system in the same way
  1522. 2:35:55or the processing of the range of which comes  to the same result that is for example for the
  1523. 2:36:01age from 0 to 2 the result is that we do not hire  such employees this can already be taken as one
  1524. 2:36:08equivalence class as you can see we already  have four classes so these are some positive
  1525. 2:36:15classes but also if we recall about positive  and NE negative tests there are also positive
  1526. 2:36:22and negative equivalence classes if we are talking  about the age of employees that we are not hiring
  1527. 2:36:29also you and I will be able to go beyond zero that  is to take for example such a range as from minus
  1528. 2:36:36infinity to zero such values can also be taken  and if we're talking about employees that we
  1529. 2:36:43don't hire you and I can also take from 100 to  plus infinity this is also an ambivalent class
  1530. 2:36:55plus we are likely to use these particular numbers  in some sort of input field and in the input field
  1531. 2:37:02we can enter for example letters or sing symbols  and we will also have equivalence classes negative
  1532. 2:37:11equivalence classes so we can take all these  things into account in our testing and let's
  1533. 2:37:16move on to the basic rules of this test design  technique there are two of them one of which
  1534. 2:37:21we have already performed together the first  is the definition of an equivalence class and
  1535. 2:37:28the second rule is to conduct at least one test  for each class that means we must take at least
  1536. 2:37:37one value from the equivalence class in order to  confirm that the system handles all values in this
  1537. 2:37:45class in the same way returning to our basic  positive classes we take one value from each
  1538. 2:37:52class the most common advice is to take values  from the middle of a given class for example if
  1539. 2:38:00we say from 0 to 13 then the middle of this class  will be either six or 7even so this is the value
  1540. 2:38:07we will test this is what we do for every class  including our negative equivalence classes that
  1541. 2:38:12I talked about a little bit earlier that's what  we're doing for the equivalence partitioning
  1542. 2:38:17technique that is you and I can already see how  we have simplified our work and further improved
  1543. 2:38:22the efficiency and time for our tests thinking  back to the lesson on the basic principles of
  1544. 2:38:27testing one of the principles clearly states that  exhaustive testing is simply impossible and it is
  1545. 2:38:35this particular technique test design that allows  us to efficiently use just one value and avoid
  1546. 2:38:43doing for example like in this case for and te  tests for a given equivalence class this second
  1547. 2:38:49test design technique which is closely related to  equivalence partitioning also known as equivalence
  1548. 2:38:56class testing is boundary value analysis going  back to our particular classes of equivalence the
  1549. 2:39:03positive ones here we see the boundaries of these  classes that is 0 13 14 17 18 55 56 99 plus there
  1550. 2:39:09are also these boundaries [Music] for all of our  negative classes but now let us dwell with you in
  1551. 2:39:22more detail on the positive ones what does this  analysis of boundary values mean the first rule
  1552. 2:39:29here is the same it is the definition of an  equivalence class not a class but a class the
  1553. 2:39:36second is to determine the boundaries of these  ranges we have already talked about that too
  1554. 2:39:44and the third is to perform three tests for the  boundaries on the boundary itself on the value
  1555. 2:39:51right above that boundary and on the value just  below that [Music] boundary let's return to our
  1556. 2:40:00example now and observe how this operates in  practice look we have established boundaries
  1557. 2:40:07for each class let's consider the range from 18 to  55 as an example what do our rules indicate they
  1558. 2:40:15state that we take these boundary values 18 and 55  along with two additional values on this boundary
  1559. 2:40:22that is one value less and one value more in this  scenario it will be 17 18 itself as the boundary
  1560. 2:40:31and 19 and also the value of 54 which is right at  the border 55 and 56 if we were discussing how our
  1561. 2:40:39system can manage decimal fractions then the value  of would be as near to our boundary as possible
  1562. 2:40:47so there would be a value here for instance 54.9  55.1 if we were only using one decimal place so
  1563. 2:40:55this is something that you have to remember and  make sure to use these values as you might have
  1564. 2:41:00noticed when we employ the boundary value analysis  Technique we also verify and test equivalence
  1565. 2:41:07[Music]
  1566. 2:41:11classes so we have equivalent partitioning  involved as well that is we take values that
  1567. 2:41:20are also part of the equivalence class for example  that is it is included in this class from 18 to 55
  1568. 2:41:30and it is quite possible not to conduct additional  testing already by this test design technique so
  1569. 2:41:35we kill two birds with one stone but as I said  at the beginning of our lesson I would advise
  1570. 2:41:41you to test the values in the middle of this  range as this will improve the quality of your
  1571. 2:41:47test and make it more likely you won't miss any  values processed incorrectly by our system these
  1572. 2:41:52two techniques are often asked about in job  interviews I'm not afraid to repeat this for
  1573. 2:41:58you to remember what to focus on when preparing  for an interview yes you can also read the book
  1574. 2:42:05I mentioned at the beginning of the class and  learn about pair testing the creation of those
  1575. 2:42:20[Music] we have a number of spreadsheets that  allow us to do this using a tool like picked
  1576. 2:42:28that's probably all I wanted to tell you in  this class please internalize this information
  1577. 2:42:34very well practice with other examples read Lee  copland's book it also contains good examples on
  1578. 2:42:42all test design techniques then you will be  able to say with peace of mind that you have
  1579. 2:42:47understood the test design Techni techniques and  you'll be ready for your interview we will see
  1580. 2:42:54you at the next session which will be devoted  to the design of bug reports also known as bug
  1581. 2:42:59reports in this class we will also understand  the defect life cycle and learn how to work
  1582. 2:43:07with you in a bug tracking system like jira so  stay on this channel subscribe and put likes
  1583. 2:43:14your feedback is very important to me and in my  turn I say goodbye to you please come back to our
  1584. 2:43:20tent [Music] bye hello YouTube in today's 10th  lesson we are concluding the first block of this
  1585. 2:43:39course called tester from scratch this block  was dedicated to covering the main theoretical
  1586. 2:43:45points related to getting immersed in the testing  profession in this session we will be discussing
  1587. 2:43:51with you an important test artifact known as a  bug report or as it is sometimes referred to a
  1588. 2:43:57bug report you will be creating and reacting to  fixes specifically fixes of this test artifact
  1589. 2:44:04which you will encounter most frequently in  your work also we will look at how to start a
  1590. 2:44:10bug in practice in such a popular bug tracking  system as jira and at the end of this session
  1591. 2:44:16we'll talk about the life cycle of a defect what  is a defect or a bug it is a discrepancy between
  1592. 2:44:26the actual result of program execution and the  expected result defects are detected at software
  1593. 2:44:33testing stage when you and I testers compare the  obtained results of the program or its component
  1594. 2:44:40Lily design with some expected result as soon as  we find a bug we can see the actual result that
  1595. 2:44:46we get after we have completed all the steps as  as soon as we discover a bug we have to document
  1596. 2:44:51it the document that allows us to do this is a  bug report that is this document contains a full
  1597. 2:44:58description of our bug and includes information  both about the bug itself which we will talk about
  1598. 2:45:03in more detail later and about the conditions of  the bug occurrence first it is a short description
  1599. 2:45:12of our problem if we are talking about such a  bug tracking system as jira then usually in the
  1600. 2:45:20description they also prescribe steps to reproduce  that is steps to reproduce this bug which will
  1601. 2:45:27lead to the fact that a person who reads this  report will go through all these steps and
  1602. 2:45:33we'll see our result actually which was obtained  after he has performed all the steps we'll talk
  1603. 2:45:39to you more about that when we go directly to  Jura itself there is also such an attribute as
  1604. 2:45:46project that is it is the name of our project  for example if we are working on an application
  1605. 2:45:53called for example an online store then the name  of this project is specified here in this field
  1606. 2:46:00so that later we can easily Trace to which project  our bug report belongs there can also be such an
  1607. 2:46:06attribute as the component in in which the bug was  directly detected there can also be the version
  1608. 2:46:13of our build that is the version of the build on  which the defect was found and it is reproducible
  1609. 2:46:19there is also such a field as severity in English  it is called severity that is in fact it is the
  1610. 2:46:28criticality of our bug that is the degree of  influence of this bug on our application in a
  1611. 2:46:35bug tracking system severity is usually denoted  by a tester and in principle this person usually
  1612. 2:46:42does it on the project itself also there  is an attribute known as priority or in
  1613. 2:46:48English it is priority priority indicates the  order of fixing this bug usually it is determined
  1614. 2:46:56by the PM which stands for product manager  and they decide which bug gets fixed first
  1615. 2:47:03once again we will discuss more about severity and  priority that is severity priority a bit further
  1616. 2:47:10on and I we explain what the evaluations  of these attributes are there is also
  1617. 2:47:19an attribute called status that is it is the  status of our buck in its life cycle as I said
  1618. 2:47:28we will deal with the life cycle in the final  part of our lesson there can also be an author
  1619. 2:47:33field that is the person who found our bug it  can be the tester most often it is the tester
  1620. 2:47:41but it can also be another project or team member  who found some bug in the system and there is
  1621. 2:47:49such a field as assignment or in English it will  be assigned to and let's now talk in more detail
  1622. 2:47:57about attributes such as severity and priority  as I said defects can be categorized in terms of
  1623. 2:48:05severity and priority in different ways let's talk  about this categorization on different projects
  1624. 2:48:11in different companies severity and priority  classification May differ from one another however
  1625. 2:48:17I will give you the most common one which will  help you to correlate the degrees of impact that
  1626. 2:48:23you have for example on a project with what I'm  about to tell you first of all this is a blocker
  1627. 2:48:34that is it's a type of bug that makes our program  inoperable if we detect such a defect further work
  1628. 2:48:40with the program or its functions becomes  simply impossible the next type is critical
  1629. 2:48:47critical defects cause our key functionality  to fail it can also be a significant deviation
  1630. 2:48:55from the business logic of our application or an  incorrect implementation of a required function
  1631. 2:49:02perhaps loss of user data unlike blogger  our application does not become completely
  1632. 2:49:13non-functional other functions can still work  fine that's why there is a gradation called
  1633. 2:49:20critical the next types are major and minor also  known as major and minor bugs let's discuss them
  1634. 2:49:28in more detail major bugs are some serious errors  that indicate deviations from the business logic
  1635. 2:49:38or disrupt the programs work but they are not  [Music] critical impact on our application perhaps
  1636. 2:49:48there's some workaround or it may also be called  workaround where we can in principle if we use
  1637. 2:49:57this function it will work in some other way  but still again talking about the degree of
  1638. 2:50:02impact the severity of it for our product it's  quite large the next item is a minor or minor
  1639. 2:50:11bug it is some minor defect that does not break  the functionality of our application but which
  1640. 2:50:18is a mismatch of the expected result  for example this could be a bug in our
  1641. 2:50:23design these are trivial some trivial bugs by  the very name I think it is already clear to
  1642. 2:50:33you that this is a bug that has no impact on  the functionality or operation of our program
  1643. 2:50:40but which can be detected visually for example  it can be some typo in the text that is it is
  1644. 2:50:47not a serious error but still there is a deviation  between the expected and actual result once again
  1645. 2:50:53when talking about various bug tracking systems  and deciding on the project it is important to
  1646. 2:51:00determine what attributes should characterize  the severity for instance there might not be a
  1647. 2:51:06class like blockers or there might not be trivial  bugs at all there could only be categories such
  1648. 2:51:14as critical major and minor once more there is  usually detailed process documentation on projects
  1649. 2:51:22that describes which bug should be assigned to  each of these categories if you do not have such
  1650. 2:51:28information on the project I have given you the  basic information on the theory related to this
  1651. 2:51:34classification in this lesson now let's move to  such an attribute as priority as I said it's a
  1652. 2:51:43kind of prioritization of fixing our defects that  is the order of fixes on the project and usually
  1653. 2:51:52priority is put up by the PM on the project but  if there is no PM it could very well be either
  1654. 2:51:59the elite testers or the tester himself who is  working on that bug perhaps even analysts who are
  1655. 2:52:05familiar with how your system is supposed to work  and which functionalities are essential for our
  1656. 2:52:11user currently and which should be delivered to  the customer first and foremost then that can also
  1657. 2:52:19be demonstrated by the analyst when discussing  the categorization of defects solely in terms of
  1658. 2:52:27priority there are three most common categories  these are high medium and low by the name it
  1659. 2:52:34is already somewhat clear to you which defects  will be addressed first of course it's high that
  1660. 2:52:41is this bug should be fixed as soon as possible  because it critically affects the functionality
  1661. 2:52:47of our program if we are talking about medium this  buug should also be fixed but it does not have any
  1662. 2:52:57critical impact on the application's performance  if we are talking about low defects the error must
  1663. 2:53:06also be fixed but it does not have a critical  impact on the program and the fixing may be
  1664. 2:53:11postponed for some longer period of time depending  on the against other higher priority defects
  1665. 2:53:18for example if we have medium or high we will  naturally fix box with high priority first and
  1666. 2:53:26then bux with medium priority low priority bux  we will test at the very end speaking about
  1667. 2:53:35whether severity and priority coincide that  is for instance if a tester decides that this
  1668. 2:53:41functionality is extremely critical for our  application and sets severity to for example
  1669. 2:53:47critical or blocker but at the same time PM  understands that it can be postponed for a longer
  1670. 2:53:54period of time and it's actually not so critical  for our application then it can set a different
  1671. 2:54:01priority for example medium instead of high often  in interviews they ask for an example of bugs with
  1672. 2:54:09high severity and low priority for example if  we talk about such bugs then for example if we
  1673. 2:54:18have some functionality that is quite rare for  our user if we realize that it doesn't work we
  1674. 2:54:25can put believe for example a blocker or a critic  but at the same time our PM realizes that this
  1675. 2:54:36functionality is not in high demand or it is not  critical to the operation of our system and we
  1676. 2:54:41can do without it for the moment it then decides  that the priority will be low this is the the most
  1677. 2:54:48common example where we have high severity and  low priority if we talk about the other side of
  1678. 2:54:54the coin when we have a high priority and low  severity for example Google site often gives
  1679. 2:55:00us the same example it's main when you open the  page and you see a typo for example it is written
  1680. 2:55:06Google not with two letters o but with one this  brand is quite recognizable and such typos can
  1681. 2:55:15affect the reputation of this brand very much  but at the same time the seriousness of this
  1682. 2:55:22error is minimal that is it is some kind of typo  it is a trivial mistake but the priority of how
  1683. 2:55:29it affects the reputation will be high here this  could also be a great example for an interview you
  1684. 2:55:36can look for more details on the internet to find  the answer to this question with examples I think
  1685. 2:55:42that if you give at least two minus three examples  to this question it will significantly raise your
  1686. 2:55:50chance of successfully passing the interview  it is worth noting that in some systems such
  1687. 2:55:55as priority can be replaced instead of high medium  Low by the numbers 1 2 3 4 here the logic is the
  1688. 2:56:03same that is if we have the digit one we will fix  this defect in the first place if the digit four
  1689. 2:56:09we will fix it in the last place again this can  also apply to severity there can be numbers there
  1690. 2:56:16too and they tell us exactly the same thing what  is the severity what is the criticality of our
  1691. 2:56:24defect for the operation of our system let's now  go back to the attributes that can still be in our
  1692. 2:56:31buck report it is always necessary to specify  the environment where this defect was detected
  1693. 2:56:38in English it will be environment speaking of  environment we mean for example the operating
  1694. 2:56:43system the bit capacity of this system possibly  a Service Pack the browser in which this defect
  1695. 2:56:52was detected again its version that is we describe  in detail here in which environment or defect was
  1696. 2:57:02detected it can also be specified in environment  for example if we have several environments on
  1697. 2:57:07the project for example there's an environment  for developers there is an environment of stable
  1698. 2:57:13version or it is also called stage and there is an  an environment of production when our end user is
  1699. 2:57:21already working in it let's label these three  types of environments and I'll tell you uh a
  1700. 2:57:28little bit more about them I mean look like I  said each of these environments has a certain
  1701. 2:57:34range of people working on them usually developers  work on dev environment that is they pour some
  1702. 2:57:42features there maybe also testers are involved in  testing some separate features on dev environment
  1703. 2:57:48and can also introduce defects and if we  find defects like this on that environment
  1704. 2:57:56we spell out deaf in that field the second kind of  environment is staging on the staging we usually
  1705. 2:58:04have some stable version of our application  testers work on it most often and it is on
  1706. 2:58:10the staging that they bring this application to a  certain pre-release State and uh if there are are
  1707. 2:58:18uh no uh defects there then such an application  is usually moved from this environment to the
  1708. 2:58:25prod stage and we already have our end users  working on prod many courses don't mention
  1709. 2:58:32this three environments and novice testers  often have questions at their first meetings
  1710. 2:58:38wondering what this is I believe that after this  uh brief overview of these environments you will
  1711. 2:58:45understand better and not be surprised by the  presence of multiple environments in your future
  1712. 2:58:51[Music] workplace going back to the description to  the description field as I said reproduction steps
  1713. 2:59:07can be prescribed here and most often they are  indeed prescribed there if there is no separate
  1714. 2:59:14field for example in that bacteria system that  I work with at my job it's called Azure devops
  1715. 2:59:22there's a separate field for steps to reproduce  let me put an abbreviated title here so you can
  1716. 2:59:29find an acronym like this Str this stands for  steps to reproduce our actual result is also
  1717. 2:59:37noted in English it will be actual result you can  skip the word actual and just right result because
  1718. 2:59:45the next we spell out is expected result or in  English is expected result and if you basically
  1719. 2:59:56write expected result then it is logical to assume  that the first result you write down will be
  1720. 3:00:03actual so the word actual can be omitted in the  design of our bug report that is once again the
  1721. 3:00:10actual result is the result we arrive at after we  have performed all the steps of reproduction and
  1722. 3:00:18the expected result the expected result is the  result that should be in accordance with our
  1723. 3:00:25requirements is what we really should get yes  it is also worth noting that in the expected
  1724. 3:00:32result you should write according to what you  have come to such a conclusion that this is the
  1725. 3:00:36result that should be of the playback steps it  can be a reference to some requirement or uh a
  1726. 3:00:45reference to a mockup of the design of our page  for example on the internet so it is absolutely
  1727. 3:00:53necessary to reference something just saying that  there should be such a result without backing it
  1728. 3:00:59up with some sort of evidence base is not a good  idea and probably the last of the main things is
  1729. 3:01:05attachments some kind of attaches usually there  can be a photo a screenshot of your screen where
  1730. 3:01:12it will be clearly visible where your defect  is being reproduced or it could be a a video
  1731. 3:01:18showing the steps that you follow to reproduce  your defect in detail if we are talking about a
  1732. 3:01:25screenshot it is necessary to indicate by some  elements uh that it be for example red frames
  1733. 3:01:35arrows or some inscription that will characterize  that this is the place where the defect occurs so
  1734. 3:01:42that the developer just by looking at this  screenshot could immediately understand
  1735. 3:01:48what really happens according to the results of  the steps playback since most often a developer
  1736. 3:01:56may not even read your playback steps he knows  how the system works and by looking only at a
  1737. 3:02:01screenshot he can quickly fix a bug detected by  especially if we are talking about some UI bugs
  1738. 3:02:09bugs related to design to some typing that is  to say here we should definitely label it all
  1739. 3:02:15somehow on our screen shot if we are talking about  video make sure that you have the sound turned off
  1740. 3:02:23which would record for example the environment in  your office or the environment from your computer
  1741. 3:02:30unless we are talking about some defects related  to audio files this situation is also not very
  1742. 3:02:36good I personally know very well of examples  where reading testers do not disable it and
  1743. 3:02:44you can for instance on on the video playback of  this bug hear the music they are listening to or a
  1744. 3:02:52conversation happening in an office cubicle or in  an open space this does not characterize you very
  1745. 3:02:58well from the tester side so be sure to pay close  attention to [Music] it and the videos don't have
  1746. 3:03:07to be very long believe me a developer will not  want to watch a video for example even 1 minute
  1747. 3:03:14as you reproduce your bug so you can omit some  steps of reproduction if you think they are not
  1748. 3:03:21so important and record some last part a small one  just where it will be clearly visible how your bug
  1749. 3:03:28is reproduced uh you can also put blogs of some of  your bugs or some archives if we are talking about
  1750. 3:03:37downloading information into these attachments  about responses and requests in web applications
  1751. 3:03:45we'll be talking about this uh with you in the  second part of our course that is you can put
  1752. 3:03:51all of this in there as well so that for example a  developer who opens the attached file in the form
  1753. 3:03:57of logs with errors that are reproduced can also  read them and quickly react to the found problem
  1754. 3:04:03basically this is all I wanted to tell you about  the main attributes of a bug report there are of
  1755. 3:04:09course still additional ones it all depends on  the company I think if you do some investigating
  1756. 3:04:17about about what other attributes there are you'll  find a lot of information online I'll leave that
  1757. 3:04:24up to you but some basic things I've told you  especially pay attention to the blog related to
  1758. 3:04:30seriousness with uh Varity prioritization because  this is quite often asked in job interviews and
  1759. 3:04:38also don't forget that you need to know all  these things in order to successfully pass
  1760. 3:04:44the interview and in the future make quality  bug reports that will not cause questions from
  1761. 3:04:50both PMs and developers the second part of our  lesson will be devoted to the direct practice
  1762. 3:04:56of working in such a bug tracking system jir what  is a bug tracking system in general basically it
  1763. 3:05:03is a system that allows us to enter all our bug  reports in it and it also allows us to work in
  1764. 3:05:10general with those reports more efficiently with  our project that is all user stories are added
  1765. 3:05:20here some requirements that we have to realize  in the future here as I have already mentioned
  1766. 3:05:27before is working with bugs as you can see we  have several logical blocks here I.E backlog and
  1767. 3:05:34Sprint in fact this tab itself is called backlog  now what is backlog when we will discuss agile
  1768. 3:05:43uh methodology like agile and scrum framework it  will be covered in one of the upcoming lessons in
  1769. 3:05:50other blocks of our course then we will be we'll  talk in more detail of course about each of these
  1770. 3:05:58entities of events in scrum but for your general  understanding the backlog is a set of tasks we
  1771. 3:06:07need to complete during our product development  on a project this is where everything is stored
  1772. 3:06:15from requirements by our business analysts  or sales managers to the bugs we log into the
  1773. 3:06:22system there's also a Sprint here a Sprint  is an iteration remember the lesson on the
  1774. 3:06:34iterative development model I mentioned that uh  an iteration is a set period where we Implement
  1775. 3:06:41certain functionalities and everything we  complete adds to our increment which is
  1776. 3:06:47already a part of our finished  product so that's the Sprint or
  1777. 3:06:52iteration and in this iteration we fulfill some  stories or rather these are the requirements
  1778. 3:07:02that we need to accomplish additionally here in  the Sprint we include bugs that our developers
  1779. 3:07:09must address this is typically decided in a  ceremony such as a planning session a rally
  1780. 3:07:15where the entire team gathers together and and  determines what we are going to implement in a
  1781. 3:07:22given Sprint once again we will cover all of  this in more detail with you in the upcoming
  1782. 3:07:27lessons now we are more interested in the design  of bug reports in this system I would also like
  1783. 3:07:37to note that you can try working in jury on  your own and absolutely free of charge there
  1784. 3:07:44is a special version of this software  so that users can learn it it is enough
  1785. 3:07:50to go to the official site of atlassian  company which is directly engaged in the
  1786. 3:07:55development of this Tula as jira and there  you can click on the try to free button and
  1787. 3:08:00then you'll be able to sign up and work  in jira just like I'm doing now I mean
  1788. 3:08:08I've created a free account for myself now  too the only thing is that there are limits
  1789. 3:08:12on the number of users who can work in  it if I'm not mistaken it's 10 people
  1790. 3:08:17but for some training purposes it's quite enough  let's go ahead and create our first bug with you
  1791. 3:08:23a bug report to do this you see there is a create  button here we click on it and uh window opens to
  1792. 3:08:31create our bug uh as I said has an attribute  like project I have it already created it's
  1793. 3:08:41test project that's what I've named a test see  we don't have any other projects issue type is
  1794. 3:08:47the name of our entity that we're going to use in  this case it's bug uh we also have story here for
  1795. 3:08:54example these are our requirements and epic is  some set of our requirements that are combined
  1796. 3:09:00together the big functionality that we need  to deliver to our user story this is a more
  1797. 3:09:07specific requirement usually it's spelled  out in the user story format we'll discuss
  1798. 3:09:13the user story format later in the next lessons  and task these are tasks a team member performs
  1799. 3:09:21when planning their work for an iteration we are  interested in an entity called a bug summary is
  1800. 3:09:29the name of our bug let's keep it for now so uh  I have some notes by the name that you should use
  1801. 3:09:38when creating the title of your bug report in the  description field as I said we describe the step
  1802. 3:09:47of reproduction our actual result and the expected  result also sometimes there is a block like
  1803. 3:09:56preconditions where we describe some preconditions  for example that in order to reproduce our defect
  1804. 3:10:04a user with such and such data has already been  created in the system in order not to overload
  1805. 3:10:10our steps of reproduction and in principle the  developer will already know what he needs to do to
  1806. 3:10:17the environment serves as a means to reproduce our  defect in the future the reporter is essentially
  1807. 3:10:24the author of our defect and in this case it is  me fixed versions although we are not writing
  1808. 3:10:31here I will explain what it is next priority as  I mentioned this indicates the priority of our
  1809. 3:10:37execution polic severity I don't see anything  here as you can see all of this is customizable
  1810. 3:10:45this means that uh for your specific needs and for  your project you can select and use only certain
  1811. 3:10:50fields from all the available ones but as you can  see there is no check field here but uh we have
  1812. 3:10:56already talked about check so we will use such an  attribute as priority labels or in other systems
  1813. 3:11:03it may be called Tags these are labels that allow  us to search for our bugs in the future that is to
  1814. 3:11:10categorize and combine them somehow environment as  I have already said is the environment attachment
  1815. 3:11:20here we upload some screenshots or video files  link tisues and the issue itself here we can link
  1816. 3:11:28our requirements for example which are related to  our bug a this is the person who [Music] will fix
  1817. 3:11:38our bug in the future usually connection on large  projects is assigned by product manager but if the
  1818. 3:11:45project is small it May well be a tester he can  also assign a person epic link is the link to
  1819. 3:11:55our epic and Sprint this is where we link to the  iteration where we need to fix our bug now let's
  1820. 3:12:03try to start a bug report of some sort for example  let's take the login page of our application and
  1821. 3:12:09for example some button has moved there uh as for  the correct name of our bug there is such a rule
  1822. 3:12:18you must be sure to answer the three questions in  the title where what and when where this could be
  1823. 3:12:27the name of your module where you discovered  your bug what this directly happens when you
  1824. 3:12:34discover your bug meaning what your defect led  to and when under what conditions it happens
  1825. 3:12:43for example if we're talking about a  login page we can write it like this
  1826. 3:12:47the login page is our module where our  defect happens what happens for instance
  1827. 3:12:52the sign in button is displaced after  clicking on the page so you see it's
  1828. 3:12:59important to clearly Define these aspects  to understand the nature of the buck and its
  1829. 3:13:04impact see here we have taken into account just  the answers to these three questions first of
  1830. 3:13:14all where our module is login page what happened  the signin button is being shifted and under what
  1831. 3:13:21conditions after clicking on the page here uh we  have taken all these aspects into account when uh
  1832. 3:13:28forming our header please remember it and use it  in the future as for description let's start with
  1833. 3:13:35the steps from of the piece also as I said here  will be attribute. result is our actual result
  1834. 3:13:43and expected result this is the expected result  in order to to make our defect understandable
  1835. 3:13:49to the developer and in principle those people who  later work with it it is best to format it that is
  1836. 3:13:56to apply some styles to its design in J you can do  this in two ways first you can like in word simply
  1837. 3:14:07select your text and click on that particular  style font as you can see two asterisks appear
  1838. 3:14:16in immediately which basically show the fact that  TR will be bold if we click such a button with you
  1839. 3:14:24you and I can see a preview and indeed our Str Str  is highlighted in bold that is we can immediately
  1840. 3:14:31use asteris to determine where we want our Str  strr to be boled now as for the playback steps
  1841. 3:14:38themselves here we spell out all the things that  will lead to further reproduction of our defect
  1842. 3:14:45let's write the following first we write here that  we open open the login page if we were working on
  1843. 3:14:54a real project we might already have a link to it  and we could insert it here to simplify the work
  1844. 3:15:00and immediately we could go to this page next we  WR um navigate to the signin button and the last
  1845. 3:15:08step is we click on this page in principle these  steps of reproduction are quite sufficient for
  1846. 3:15:15the developer to reproduce our bug in the future  and once again in order for us to correctly format
  1847. 3:15:22this text we have two possible methods one we  can choose to list exactly using number list or
  1848. 3:15:30alternatively we can place crits in front of each  playback step once more we separate these out so
  1849. 3:15:39that it is clearly visible into distinct blocks  and if you and I click on the definitive view
  1850. 3:15:46you and I will be able to see that yes indeed we  do have these steps clearly labeled with numbers
  1851. 3:15:52actual result we will have the same as the  header in general it is recommended to invent
  1852. 3:16:01another name for the header but I usually use this  method as it simplifies the work and in principle
  1853. 3:16:07everything is clear here there is no need to  invent a bicycle and expected result is what
  1854. 3:16:14we really should have seen after clicking on some  empty space on the page let's have our expected
  1855. 3:16:20result be as follows the sign in button is located  on the page as per the mockups if we had mockups
  1856. 3:16:28in a system like figma we could copy the link  and paste it here clicking this link would take
  1857. 3:16:36the developer directly to the mockup showing the  systems Behavior and the sign in buttons location
  1858. 3:16:54[Music]
  1859. 3:16:55if we click once again on the preview we will see  exactly what our bug looks like in principle I'm
  1860. 3:17:03quite happy with how it appears and I don't  think there will be any questions about how
  1861. 3:17:08to reproduce it the defect is quite simple so  we have not invented something complicated here
  1862. 3:17:16speaking of playback steps try not to come  up with a huge number of them you can combine
  1863. 3:17:22them with each other I recommend using 7  to 10 steps at most it's better of course
  1864. 3:17:27to have even fewer but at the same time try to  write them in such a way that it is clear what
  1865. 3:17:35is going on and if the steps cannot logically  be combined with each other it is better not
  1866. 3:17:41to combine them so that later there will be no  misunderstanding on the part of the developer
  1867. 3:17:47or a person who sees your system for the first  time at all for example if we are talking about
  1868. 3:17:52some novice testers who will learn to create  bugs on the basis of of what you once did in
  1869. 3:17:58this system or you will quit for example and a  person will further work with your bugs that were
  1870. 3:18:06created but not fixed at the time you left the  company try to do it all in such a way that all
  1871. 3:18:11people who will interact with the bug report in  the future can safely read it and rep produced the
  1872. 3:18:17whole thing so look polyfix versions are usually  filled in after the bug has been fixed make sure
  1873. 3:18:26to document everything clearly so future team  members understand the context and can resolve
  1874. 3:18:31issues efficiently the developer already does  that now as you can see you can select that
  1875. 3:18:38version of FX priority as I told you this defect  is a UI defect and it doesn't carry any critical
  1876. 3:18:45load so you can prioritize it here probably low or  even lowest but as I told you usually it's the PM
  1877. 3:18:55on the project who sets the priority severity  unfortunately is not available here but again
  1878. 3:19:04verify it would also be low here for example it  would be trivial on labels this is where you can
  1879. 3:19:12contribute some labels of your own or if they're  already in the system they'll be shown to you in
  1880. 3:19:17the drop down menu again this is to simplify  the job of finding your defects by environment
  1881. 3:19:25here you can write the version of your system for  instance mine is Windows 10 I think everyone knows
  1882. 3:19:32exactly how to see the version of your system  you need to go to this computer and then click on
  1883. 3:19:38properties and and here we have you see it  says Windows 10 corporate LTC that's all we
  1884. 3:19:52have to copy and paste into our bug report  and also specify the business of our system
  1885. 3:19:57I'm not going to do that now but I think you  can see how it should work and speaking of
  1886. 3:20:04the browser for example on which this was  detected we have this Google Chrome in the
  1887. 3:20:11browser you just open the Google Chrome browser  help section and copy the version number [Music]
  1888. 3:20:22since we don't have any Dev stage or prod  environments we don't specify any of those
  1889. 3:20:27things here either speaking of in the screens let  me show you how it can be done with an example
  1890. 3:20:35far from our buck but you will basically be able  to understand in general how it should work yes
  1891. 3:20:44there are paid and free screenshot tools that  allow you to do all this take a screenshot edit
  1892. 3:20:49it probably among the free ones the most  common is shx which I use and it is quite
  1893. 3:20:56convenient in the work one of the paid  ones is snag it it is quite often used
  1894. 3:21:04in it companies here you and I  can select directly the area that
  1895. 3:21:10interests us now we make a screenshot  and edit the image for example we have
  1896. 3:21:17here it should have been written not  attachment but for example attachment
  1897. 3:21:27that is I denote where we have directly  observe the defect with uh red rectangle
  1898. 3:21:34additionally I can use an arrow  to further emphasize [Music] and
  1899. 3:21:47write text with some description for  example the attachment should be called
  1900. 3:21:52attachment okay so that's basically how  good our screenshot looks and when the
  1901. 3:22:05developer just looks at it he'll immediately  realize where the error is we save the image
  1902. 3:22:11uh and then just drag and drop it it's  going to load now it's loaded [Music]
  1903. 3:22:20has appeared here for some reason that  is then you can open this floor and see
  1904. 3:22:28how this button is displayed on the  UI furthermore by inter relationships
  1905. 3:22:32here we can describe what type of  entity this bug relates to that is
  1906. 3:22:38whether it relates to this entity  whether it blocks its work [Music]
  1907. 3:22:54uh whether this functionality is blocked by  another functionality whether this is a clone
  1908. 3:23:02of some functionality Perhaps it is some duplicate  of another bug that is we can specify all these
  1909. 3:23:10things here usually we specify to we have several  of them in the system now let's take bug report
  1910. 3:23:17creation assign will be automatically assigned  but again as I said it is usually assigned by
  1911. 3:23:23the PM on the project or on smaller projects it  is typically assigned by the tester epic link if
  1912. 3:23:31we had an epic we could bind that as well and  the Sprint where the bug needs to be fixed we
  1913. 3:23:37also designate that right here Additionally you  can click create another put a checkbox then this
  1914. 3:23:48bug will be created and you will have a  window that allows you not to fill in any
  1915. 3:23:53other fields using pre-filled  fields to create several buxs
  1916. 3:23:58simultaneously if you just click create then  this window will close completely and you will
  1917. 3:24:13have to re-enter all the data from the beginning  so basically we can check it together now if we
  1918. 3:24:19click create you can see that our bug has been  successfully created it now has an identifier
  1919. 3:24:26a project name and an entity number in our  system moreover here we have already saved
  1920. 3:24:32some attributes which means we can avoid filling  them in the future and instead use the pre-filled
  1921. 3:24:38ones we've also had an update here  we've got this bug gone in the Sprint
  1922. 3:24:46here we have table by status meaning what we  have in the works what we have in progress what's
  1923. 3:24:53already done this also allows our PM product  manager to keep track of the team's performance
  1924. 3:25:01how they are executing everything on time and  you and I can directly open our bug edit it in
  1925. 3:25:07case we have some change is made at the bottom we  see a reflection of all changes made to our bug
  1926. 3:25:15look our bug has has been updated and created so  everything we change here will also be reflected
  1927. 3:25:22in history there might be comments written by  you or other team members on this bug you can
  1928. 3:25:28customize and manage it your way here you can also  perform a search a normal search or an advanced
  1929. 3:25:37search we won't go into more detail about the date  with you now we'll probably have some additional
  1930. 3:25:48lesson related to advance search in jira but as I  can see this lesson has already gotten very long
  1931. 3:25:55so let's move on to the last concluding part of  this lesson the last part of our lesson will focus
  1932. 3:26:00on the life cycle of a defect let's imagine that  you have found some bug it appeared in your life
  1933. 3:26:09in the life of your project and like any life form  it has a life cycle so let's talk about it in more
  1934. 3:26:17detail when we talked about the attributes of a  bug report we talked about its status these are
  1935. 3:26:24the statuses that we are going to talk about in  the block dedicated to life cycle see as soon as
  1936. 3:26:31our bug report is created in the system its status  is new that is it is new the tester found the
  1937. 3:26:41bug the bug was successfully entered into the bug  tracking system in some bug tracking systems this
  1938. 3:26:49status might be referred to as proposed following  that our bug transitions to the open status which
  1939. 3:26:56can also be termed assigned or active this occurs  when our bug has been sent to the developer either
  1940. 3:27:04by our product manager or by you especially if we  are dealing with a small project a small team or a
  1941. 3:27:10small company depending on the decision made by  our product manager our bug might might also be
  1942. 3:27:16postponed that is fixing this bug does not  hold any value at this particular stage of
  1943. 3:27:31development or for some other reason it will be  addressed later on perhaps in other iterations
  1944. 3:27:38or in other sprints again this decision  is up to our product manager if our desk
  1945. 3:27:45check has still been taken into work it is  assigned the assigned status then when the
  1946. 3:27:50development team fixes this bug it moves to  resolve status and is assigned back to the
  1947. 3:27:55tester but at the same time this bug can be  rejected that is again it can be in the resolve
  1948. 3:28:09status and there can be the following so-called  decisions resolutions on this bug that is as
  1949. 3:28:15I have already said it can be fixed if this bug  already exists in the system we for some reason
  1950. 3:28:26missed this fact and started it a status such as  not a status but a resolution such as duplicate
  1951. 3:28:36or or won't fix that is this bug will not be fixed  at all perhaps this bug was introduced by mistake
  1952. 3:28:46it can also be such as uh for me that is it  works for this developer also this attribute
  1953. 3:28:53may be called fat or function as designed  if indeed everything works according to our
  1954. 3:28:59specification and our requirements it may also  not be written because this picture I took from
  1955. 3:29:05the internet it may be written incomplete or  to be reformulated that is when this bug is
  1956. 3:29:11not very clear to ours to the developer it asks  that the test rewrite it so that in the future
  1957. 3:29:18our developer understands in general what it is  and what it is eaten with there may even be such
  1958. 3:29:24an attribute as fixed indirectly meaning when  our bug is fixed by some bug fix or other bug
  1959. 3:29:34and indeed this functionality worked can also be  such an attribute if we still have it marked as
  1960. 3:29:43fixed I.E truly fixed it it then this bug goes  to our Tester the tester confirms the bug is
  1961. 3:29:51fixed and it moves to verified status if the bug  is indeed fixed for example it doesn't occur on
  1962. 3:29:59dev stage or prod we close it changing its status  to closed if the bug reappears we can reopen it
  1963. 3:30:07from both verified and closed stages moving  it to reopen status then it goes back to in
  1964. 3:30:16status it goes perhaps to the product  manager who decides which developer
  1965. 3:30:34should handle it or directly to the  developer originally worked on it so
  1966. 3:30:39that's just the way it typically works and  again we have the reopen status if after
  1967. 3:30:46the result of verification by the tester this bug  has not been fixed by the developers then we have
  1968. 3:30:53the reopen status to and the cycle repeats  itself after reopening the status resolves
  1969. 3:31:01again if everything is fixed or there are other  reasons we can close this bug after the status is
  1970. 3:31:09resolved it goes to our tester this process can  repeat many times until the bug is completely f
  1971. 3:31:15fixed and everyone is satisfied you can study  this scheme in more detail if you press pause
  1972. 3:31:21now and in principle it will be enough for you  to have a good understanding of the defect life
  1973. 3:31:34cycle as you can see this lesson turned out to  be rather long but it is very important for your
  1974. 3:31:43further work since you will create bug reports  I think most often on your projects and it is
  1975. 3:31:50to understand them that is a must have for all  novice testers and for all testers in general
  1976. 3:31:56since this is the basic entity that everyone works  with starting from you testers and ending with by
  1977. 3:32:03the same developers business analysts or product  managers so all of these project participants can
  1978. 3:32:10connect to bug reports and maybe even start them  therefore it is a very useful skill to know how to
  1979. 3:32:17write highquality bug reports understand what the  defect life cycle is and apply all this knowledge
  1980. 3:32:24in your practice that's it from me as always  I hope this lesson has been useful to you in
  1981. 3:32:33the next lesson we will be starting a new block of  our course this block will be dedicated to testing
  1982. 3:32:40web oriented applications so please stay tuned  to this channel as always I am looking forward
  1983. 3:32:46your comments and perhaps questions as I believe  this topic is quite challenging to digest and and
  1984. 3:32:53you really need to invest a significant amount  of time to fully understand both bug tracking
  1985. 3:32:59and correctly creating bug reports so we will  definitely be in touch and in turn I will now
  1986. 3:33:05say goodbye to you farewell also Welcome  to our tent we are glad to have you here
  1987. 3:33:19[Music] hello YouTube today we start diving  into a very interesting and extensive topic
  1988. 3:33:25testing web oriented applications the standard  start of any web application testing course is
  1989. 3:33:32to break down the concept and model of client  server architecture so let's talk a bit about
  1990. 3:33:39it looking ahead I'll say that today we'll cover  only some basic things related to this model but
  1991. 3:33:47uh everything that concerns more detailed analysis  will be covered in the next lessons so what is a
  1992. 3:33:54client server architecture it is an architecture  in which the network load is distributed between
  1993. 3:34:02service providers called servers and service  customers called clients in fact the client
  1994. 3:34:09and the server are software of some sort usually  these programs are located on different different
  1995. 3:34:16Computing machines and communicate with each other  through Network protocols but also a client and
  1996. 3:34:23a server can be located on the same machine the  most common protocol is HTTP we will talk about
  1997. 3:34:29it a little later in the next lessons for now you  should just remember that it is and that client
  1998. 3:34:36server architecture is built mainly on interaction  through this type of protocol if you and I now
  1999. 3:34:43look at this diagram is you can see we have here  is a client is server and is database server
  2000. 3:34:55basically this is the standard scheme of the  client and server sometimes there is no database
  2001. 3:35:00in this scheme then we are just talking about  having a client and a server that communicate
  2002. 3:35:06with each other the client sends HTTP request or  it is also called HTTP request to the server the
  2003. 3:35:15server process es it and sends back to the client  HTTP response that is a response from the server
  2004. 3:35:22if we are talking about an additional element  such as a database then everything is simple the
  2005. 3:35:27client sends a request to server the uh server  sends the request to the database the database
  2006. 3:35:34sensor response to the server and then the server  is already interacting with our client sending
  2007. 3:35:41a response for the information it requested  again to the client since one server program
  2008. 3:35:47can perform queries from several client programs  as you can see we have three of them here maybe
  2009. 3:35:53many more This Server program is usually placed  on a dedicated Computing machine usually with
  2010. 3:36:00some other server programs so the performance of  this machine would have to be very high let's talk
  2011. 3:36:09about the disadvantages and advantages of this  model in a nutshell to the pluses of course we
  2012. 3:36:15can refer to the fact that there is no duplication  of the server program covid programs since all
  2013. 3:36:23the calculations are performed on the server the  requirements to the computers on which the client
  2014. 3:36:27is installed are reduced as I said before usually  server programs are on more computationally
  2015. 3:36:35intensive machines than client programs also on  the plus side is the fact that all data is stored
  2016. 3:36:43on the server which is usually well protected  better than most clients and it is easier to
  2017. 3:36:50organize Authority control on the server to allow  access to data only to clients with appropriate
  2018. 3:36:55access rights this is usually handled by a  separately dedicated person a system administrator
  2019. 3:37:00perhaps or devops the disadvantages of this type  of Architecture is that if we have for example
  2020. 3:37:06a server down then the whole Computing network is  down will also not work as I said to support this
  2021. 3:37:14system requires a separate specialist a system  administrator and usually server Hardware is very
  2022. 3:37:20expensive also talking about clients and servers  it is worth talking about the so-called three
  2023. 3:37:27tier architecture that is if we have only a client  and a server and the link then this architecture
  2024. 3:37:34is two level but when we have a database for  example if we are talking about some kind of
  2025. 3:37:42social network when a client sends information  into the servers with a request of what he is
  2026. 3:37:48looking for for example and this information is  contained in the database then the server needs
  2027. 3:37:54to address it to get this information so we have  an additional database and its server and then we
  2028. 3:38:01have these three links that is the information  from the database goes back to the server and
  2029. 3:38:05through the server gets back to the client often  at interviews they ask you to draw such a scheme
  2030. 3:38:11of client server architecture so remember the  difference between the two-tier architecture and
  2031. 3:38:16a client server architecture and a three tier  scheme the most common example of a client is
  2032. 3:38:24a browser all of you and I know what it is for  example it's Google Chrome or Safari or Milla or
  2033. 3:38:32Opera so we put some of our HTTP requests in there  that's basically what we type into the address bar
  2034. 3:38:40and that request goes to the server that's what a  client is there are two types of clients Thin and
  2035. 3:38:47Thick often at job interviews people are asked to  give examples of Thin and Thick clients to tell us
  2036. 3:38:53what they are so make sure you memorize it so that  you don't get confused in future in a technical
  2037. 3:39:00interview see a thin client is a computer or  some kind of client program in networks with
  2038. 3:39:09a client server architecture that shifts all  or most of the information processing tasks
  2039. 3:39:15to the server uh as I said an example of such  a thin client is a browser which is used to
  2040. 3:39:23work with uh web applications why is it called a  Thin Client because all the basic business logic
  2041. 3:39:31and all the computing power we have is actually  located on the server computer and the client
  2042. 3:39:38itself is essentially some simple software that  helps us send requests to the server now if we are
  2043. 3:39:45talking about a client it is an application that  provides more advanced functionality independent
  2044. 3:39:53of the central server often the server in this  case is just some kind of data storage and all the
  2045. 3:39:59work of processing and presentation of this data  is transferred to the client machine for example
  2046. 3:40:06if you take such complex software as 1C accounting  I think that some of you have worked with it and
  2047. 3:40:15know that in fact this application allows you to  do all the accounting in a particular Enterprise
  2048. 3:40:21that is it contains all of the basic business  logic and we have only the data that needs to
  2049. 3:40:27be stored in the database is sent to the server or  when we need to retrieve them send some query back
  2050. 3:40:34and retrieve them from the database and everything  else the main thing is on these thick client in 1C
  2051. 3:40:42you can also refer to this thick client as all  the online games the same tanks again everything
  2052. 3:40:50is basically on the client that is the client  in fact is our computer game and already again
  2053. 3:41:02the information about users what is stored in  the database we have on the server so it's not
  2054. 3:41:08such a complex computing power that can contain  all the basic business logic of our application
  2055. 3:41:13memorize these basic examples of thick and thin  clients and you will have no problem explaining
  2056. 3:41:20what they are at a job interview sometimes it  is enough just to name these examples without
  2057. 3:41:27any specification as to what business logic  is contained in the thick client and and Thin
  2058. 3:41:32Client in principle at first this information  will be enough for us to talk about testing web
  2059. 3:41:39applications next we will understand what is  HTTP request HT GTP request what it consists
  2060. 3:41:46of what in general we can send to the server in  what form this information comes to us to the
  2061. 3:41:52client how we can view it using built-in Tools  in our browsers in our clients we will be able
  2062. 3:42:00to test some web services and in general we will  learn how to test websites as you can see I have
  2063. 3:42:08already named three words with the key part web  web services web applications and websites I think
  2064. 3:42:16you have some questions about what they are and  why they are different from each other let's now
  2065. 3:42:21talk a little bit about it websites are usually  informational in nature that is they consist of
  2066. 3:42:28some kind of web pages linked together to form  a single resource have some simple architecture
  2067. 3:42:34based on HTML code again we'll talk about HTML  CSS and JavaScript with you a little later uh
  2068. 3:42:45but just so you understand this is just some basic  information in the form of markup on our website
  2069. 3:42:51and websites like this essentially serve as a  platform to provide content for visitors that
  2070. 3:42:56is they contain some text files images perhaps  music the websites do not provide the opportunity
  2071. 3:43:04to interact with our program that is users do  not have access to posting their information
  2072. 3:43:10except for filling out forms to get for example  a subscription the most prominent examples of
  2073. 3:43:17typical websites are news sites cooking sites  and weather forecasts unlike a website web
  2074. 3:43:25applications these are such interactive Computer  Applications that are specifically designed for
  2075. 3:43:33the internet and allow users to enter retrieve  and manipulate data through interaction such
  2076. 3:43:41programs have a very close connection with our  server and send a lot of requests to it and such
  2077. 3:43:50web applications may be embedded in web pages or  the web pages themselves may be applications if
  2078. 3:43:58you think of some of the main ones they include  for example Facebook Gmail YouTube eBay Twitter
  2079. 3:44:05Amazon various social networks including V  contact a for example web applications use
  2080. 3:44:11a username and password for authentication and  they allow their visitors to exchange for example
  2081. 3:44:17instant messages if we are talking about social  networks or some blogs create content based on
  2082. 3:44:25user preferences provide unlimited access to  it also some many programs for entertainment
  2083. 3:44:33can be embedded there and another difference from  websites is that many internet applications may
  2084. 3:44:41not have any real informative content so so what  do they mean that is they are used to accomplish
  2085. 3:44:48some additional tasks so they can be some kind of  Internet translators Messengers file converters
  2086. 3:44:55currency converters whatever and the last thing  I wanted to tell you about today is web services
  2087. 3:45:01if you and I recall one of the first lessons on  testing levels one of them was integration level
  2088. 3:45:10and it is the logic of the integration level that  is tied to web Services I mean what exactly is
  2089. 3:45:18a web service it's an application programming  interface or API that uh operates on a server
  2090. 3:45:25and supplies data to a client via HTTP this is  the protocol we discussed with you in the first
  2091. 3:45:32part of our lesson using a standardized messaging  system web services in turn are classified into
  2092. 3:45:39soap and rest once again we will discuss the soap  protocol and the rest architectural style in more
  2093. 3:45:45detail in a later lesson but what you need to know  is that in today's scenario most of the services
  2094. 3:45:53prefer to use just the architectural style of rest  as opposed to sep why because sap is a protocol so
  2095. 3:46:01it is some standardized protocol while rest is  more flexible that is there are no any strict
  2096. 3:46:09rules by which we have to cooperate with it and  use it so it is more interesting from the point
  2097. 3:46:14into view of web development and again since  soap is a standardized protocol and it uses
  2098. 3:46:20XML XML is basically an advanced markup language  it's very similar to HTML if you're familiar with
  2099. 3:46:30markup languages and in terms of the amount of  information that we put into soap it's certainly
  2100. 3:46:39much larger than in rest and we use Json there  and the amount of information is much smaller
  2101. 3:46:49so we can reduce the time here for all these  responses and requests to the server again we
  2102. 3:46:56will talk to you about all of this a little later  so for now don't get too worked up just remember
  2103. 3:47:01that websites are some simple web pages that are  information of some sort web applications already
  2104. 3:47:10allow the user to interact with these different  web pages enter their some data interact with
  2105. 3:47:15the content in a web service is essentially  an API or some kind of prepackaged program
  2106. 3:47:22interface that allows different web applications  for example to interact with one another on that
  2107. 3:47:30lovely note our initial session in testing web  oriented applications is now coming to an end I
  2108. 3:47:37hope that you have a bit of understanding in your  mind about what client server architecture is how
  2109. 3:47:41websites web applications and web services differ  from from each other you should be able to answer
  2110. 3:47:46these questions during your initial interviews  um if you are asked for this information and you
  2111. 3:47:53certainly will be in the next lesson we will  continue to study client server architecture
  2112. 3:47:58at deeper level we will thoroughly dive into this  topic so make sure to stay tuned to this Channel
  2113. 3:48:05please put your likes subscribe and leave comments  with any questions you may have I will make sure
  2114. 3:48:10to answer each and every one of you and that's  all for now Welcome to our tent and goodbye for
  2115. 3:48:16[Music] now hello YouTube today as promised we  continue learning about testing web oriented
  2116. 3:48:35applications and this lesson will be dedicated  to the HTTP protocol we will talk about what a
  2117. 3:48:42response request consists of we will we also touch  upon such topics as status codes what versions
  2118. 3:48:48of HTTP protocols exist or existed and some other  things that are directly related to this protocol
  2119. 3:48:55first of all let's understand what a protocol  is a protocol is a set of rules for transmitting
  2120. 3:49:03information that is with the help of protocols  we regulate how our information is transmitted
  2121. 3:49:09on the internet if we talk about the HTTP Co  it's full name is hypertext transfer protocol
  2122. 3:49:18so what does an application layer protocol mean  there are several Network models there's the OSI
  2123. 3:49:25model and the TCP IP model TCP IP is the most  modern model widely used in internet networks
  2124. 3:49:31today the OSI model is already updated and within  the framework of this lesson we will not dwell
  2125. 3:49:42on each of these models but I will will tell  you what you need to know in order for you to
  2126. 3:49:48understand what protocols there are what levels  there are in these models and to which of them
  2127. 3:49:53the HTTP protocol belongs now you and I can see  the two models that I mentioned above these are
  2128. 3:50:00TCP IP model and OSI model in the OSI model there  are seven layers in TCP IP only4 in more detail
  2129. 3:50:11I will tell you about TCP I P model the very  first level is the level of network interfaces
  2130. 3:50:19that is in this case some physical impulses are  transmitted that is for example fiber optics
  2131. 3:50:25can be referred to here when we move to the next  level this is the network level then here there
  2132. 3:50:32is already a transfer of physical signals in  the form of bits or bytes here for example we
  2133. 3:50:39can distinguish such a protocol as AP when we  discuss the transport level we already see some
  2134. 3:50:46transport interactions within our Network at this  level we have two types of protocols TCP and UDP
  2135. 3:50:53it's important to note that these two Protocols  are quite different from each other often during
  2136. 3:50:59job interviews candidates are asked about these  differences speaking of the TCP protocol it is
  2137. 3:51:06known as a reliable transport protocol this means  that when transferring files there is a guarantee
  2138. 3:51:14that the information will successfully reach  our client if within the transfer of information
  2139. 3:51:21happens that the information does not pass that  is there is no certain conviction and guarantee
  2140. 3:51:26that client received this information then there  is a resend of information this is what concerns
  2141. 3:51:34the TCP protocol if we talk about UDP then  here we do not need to be convinced that our
  2142. 3:51:40information has reached the client that is it is  a continuous flow the information is transmitted
  2143. 3:51:47and there are no mechanisms that would say that  it is guaranteed that our information has reached
  2144. 3:51:51the client either to the server this is the main  difference between these two protocols I will not
  2145. 3:51:57tell about these protocols any technical things  within this course this answer will be enough at
  2146. 3:52:03the interview for your interviewer to realize that  you know the difference between these protocols
  2147. 3:52:09if we are talking about UDP protocols then in  practice they are used for example in online
  2148. 3:52:14games where it is not necessary to make sure  that the information is transferred from the
  2149. 3:52:20client to the server if we are talking about  TCP protocol this protocol can be used in mail
  2150. 3:52:28services so here we have to make sure that indeed  our client has received some mail and the next
  2151. 3:52:36level is application Level or the same application  Level in Russian this is a specific level for our
  2152. 3:52:43application that is how various interactions take  place in our application this is the very last
  2153. 3:52:49level and as I said the HTTP protocol refers  specifically to application layer protocols
  2154. 3:52:58if you're interested you can pause this video  and see what other protocols can be attributed
  2155. 3:53:02to these layers often in job interviews you may  be asked what other protocols besides HTTP can
  2156. 3:53:08be classified as application layer protocols  that is these other remaining Protocols are
  2157. 3:53:14included here also at interviews sometimes  they may ask about the SI model also about
  2158. 3:53:21the name of the levels what kinds of Protocols  are there are used on each of them so if you
  2159. 3:53:26are interested in this topic please feel free to  leave your comments I will definitely pay more
  2160. 3:53:31attention to these two models we'll talk about  the differences in the protocols what pitfalls
  2161. 3:53:37there are in them and perhaps what else you  might be asked in an interview about each of
  2162. 3:53:42these models now let's talk more more about  what the HTTP protocol requests and responses
  2163. 3:53:48consist of in general it is uh obligatory to  highlight the main part because in English it
  2164. 3:53:56is called payload that is in fact it is what we  have to convey the main part is also called the
  2165. 3:54:03payload also in a request or response there can  be so called headers or headers this is service
  2166. 3:54:10information then already describes how  our main part of the payload should be
  2167. 3:54:17transmitted if we talk about the  HTTP protocol and remember its
  2168. 3:54:21full name which is the hypertext  transfer protocol you might have a
  2169. 3:54:25doubt that we must necessarily pass hypertext  which means some text files in the payload in
  2170. 3:54:38the main part however this is not the case  in fact you can pass more than just texts
  2171. 3:54:45in the main part um you can pass pictures  you can pass some code so all of this can
  2172. 3:54:52also be encrypted in our main part and most  often the answers come in HTML format this
  2173. 3:54:58is a special markup language which we will  also discuss a little bit later in the next
  2174. 3:55:04lessons let's now take a look at uh examples  of HTTP request tests and HTTP responses what
  2175. 3:55:17they consist of in general what the main parts of  them are and what you should pay attention to in
  2176. 3:55:22your preparation for the interview I hope we all  remember the difference between a request and a
  2177. 3:55:28response a request is sent by a client to a server  and the server in turn responds to the request and
  2178. 3:55:34gives its HTTP response that is response so  here we have two examples of our HTTP request
  2179. 3:55:44and HTTP response what does uh HTTP requests look  like first of all we have a method a little bit
  2180. 3:55:53further on I will tell you what methods are so  just remember that the first thing in the response
  2181. 3:55:59is the method next is the version of our protocol  again we will talk about protocol versions in
  2182. 3:56:06the last part of our lesson and uh host machine  that is where our application resides in general
  2183. 3:56:11which is our server also we have headers in  the requester as I have already said this is
  2184. 3:56:18some service information that characterizes our  main part it may or may not exist that is these
  2185. 3:56:24headers are an optional part and uh they can be  different in each separate request also the first
  2186. 3:56:33line of may contain a URL that is what resource we  are accessing if we're talking about HTTP request
  2187. 3:56:43then here here we also have information about  the protocol version also contains the status
  2188. 3:56:48code I.E the status code tells us whether is  successful or not that is whether the server
  2189. 3:56:57responds to us or not and each status code has a  numerical designation and textual information so
  2190. 3:57:04as you can see this is the status code itself and  the status message a little further on I will tell
  2191. 3:57:09you more about status Cotes what they are and  what you should pay attention to when testing
  2192. 3:57:16responses and requests to the server further we  have the date when the response from the server
  2193. 3:57:21was sent at all information about server and also  again some headers that characterize our main load
  2194. 3:57:31also here we usually put an empty string and if  our response contains some payload then further
  2195. 3:57:39goes the information exactly with this payload for  example a document in HTML format this is how HTTP
  2196. 3:57:47requests and HTTP responses look like now let's  talk in more detail about the components of each
  2197. 3:57:55of these entities first let's talk about methods  there are a few basic methods that are used when
  2198. 3:58:02generating requests these are get and post the  most basic to there are also put delete connect
  2199. 3:58:11options patch methods that is uh the they are not  always used anymore and are not the main ones if
  2200. 3:58:19we are talking about the get method here it is now  by the way we have it on our example this method
  2201. 3:58:26precisely characterizes the exact requests for  information from our server in other words our
  2202. 3:58:32client simply sends some information and requests  it from the server if we are talking about the
  2203. 3:58:38post method in this case we send a payload to  the server that is we have this Main part the
  2204. 3:58:44payload for example in the body of our request  this payload can be some picture text or other
  2205. 3:58:53data and we send it to the server the put method  also works in a similar way that is it also sends
  2206. 3:58:59some information to the server and it is usually  used to create an object on the server and there
  2207. 3:59:05is such a method as delete that is to delete  data again from our server or database server
  2208. 3:59:15another method is connect in addition to the HTTP  protocol there is such a protocol as https the
  2209. 3:59:23difference in these two protocols is that https is  encrypted so our information gets to the server in
  2210. 3:59:32some encrypted form that's why most often now use  https protocols because they are more reliable the
  2211. 3:59:41information is encrypted some attackers can't get  get it so easily so be sure to pay attention to
  2212. 3:59:47this if for example you use some resource and in  order to trusted it is better that it was written
  2213. 3:59:54using https protocol if you pause this video you  will see detailed information about these methods
  2214. 4:00:01that I have discussed including their names and  a general overview of each method additionally
  2215. 4:00:07we will discuss these methods in more detail in  future lessons likely even when we cover API test
  2216. 4:00:14understanding these methods what's encrypted  within them and their main components is
  2217. 4:00:19crucial what differences there are what you  should pay attention to when testing the API
  2218. 4:00:30after all this will be in this block for now it  is enough for you to know just their name and what
  2219. 4:00:35they are coming back to the response that is the  response from the server I mentioned such aspect
  2220. 4:00:42as status code and status message as I said  these status quotes characterize the success
  2221. 4:00:50of our request to the server and whether it can  actually give us a response or whether there are
  2222. 4:00:55some obstacles to it as you can see the status  code is encrypted numerically and there are five
  2223. 4:01:02main groups these are hundreds 200s 300s 400s  and 500s each of these types has its own name
  2224. 4:01:12that is hundreds are informational messages 200s  are informational messages 300s are messages from
  2225. 4:01:19both directions 400s are client side errors and  500s are server side errors we are not going to
  2226. 4:01:27dwell on 100 errors because in fact there are  just some informational messages which in fact
  2227. 4:01:33carry semantic load as testers we are primarily  interested in 02 two status code and 04 and 05
  2228. 4:01:44because they tell us that we have some critical  errors the main code we are interested in in 02
  2229. 4:01:52is 200 status code which says that everything  was successful both on the client side and on
  2230. 4:01:58the server side that is the server has processed  our request from the client gave the answer and
  2231. 4:02:05really we had some kind of success the 300  status code as I mentioned indicates that
  2232. 4:02:13the server returned the information to us in  the response but it was found elsewhere here
  2233. 4:02:18we will be particularly interested in such  a code is 301 which means that the client
  2234. 4:02:25accessed a certain page but this page has been  moved and is now located at a new address the
  2235. 4:02:32server managed to handle this case and return the  new address in the header then bad errors that is
  2236. 4:02:40we should always pay attention to it because  these are potential threats we may not always
  2237. 4:02:45have information about the new address of our  resource that is it can just disappear at some
  2238. 4:02:51point and then a 301 error can turn into a more  serious error for example into a 404 error we
  2239. 4:02:59will talk about it a little later so pay attention  to the 301 error also the status code 304 is not
  2240. 4:03:06listed here it's is important to this is code not  modified as you know I hope we have information
  2241. 4:03:16about our sites stored in the cache that is  locally on our computer so that in the future
  2242. 4:03:21when the client accessed the server there was  no loading of additional resources that is this
  2243. 4:03:26information is stored in the cache information  about our site for example some pictures from
  2244. 4:03:32it and takes information already from the local  machine and exactly 304 code not modified says
  2245. 4:03:40that that the information in this site is stored  in Cache and in such case when requesting to the
  2246. 4:03:49server it can return this error and take some  payload from our local computer however it may
  2247. 4:03:57not take this load and reload us some server data  this is very good for performance if we really
  2248. 4:04:03have a working cache so pay attention to it too  and here we come to the most interesting status
  2249. 4:04:10codes which are 0.4 and 05 as I said 0.4 are  errors on the client if we are talking about the
  2250. 4:04:20main ones you should pay attention to it is the 04  error itself which says that the request could not
  2251. 4:04:29be processed by the server it was made incorrectly  and in case of such an error you should be sure to
  2252. 4:04:34copy all the information about this request to our  bug report if you have forgotten how bug reports
  2253. 4:04:41are created now there will be a link at the top  and you can go to this lesson that is if we see
  2254. 4:04:48400 bug I will tell you further where we can see  it then we must attach our entire request to the
  2255. 4:04:54bug report so that the developer having received  information about this report about this defect
  2256. 4:05:00can easily understand what is the main cause of  this bug also such an important status code AS 401
  2257. 4:05:07is not specified here that is it characterizes the  fact that we have entered some incorrect login and
  2258. 4:05:14password and then our system swears this status  code is differently called unauthorized if we are
  2259. 4:05:21talking about its textual name code 403 staus  code tells us that even though we have entered
  2260. 4:05:27the correct username or password our system has  imposed some restrictions on us that is there
  2261. 4:05:33are limitations perhaps we do not have enough  rights to enter this or that resource again you
  2262. 4:05:40should pay attention to this if for example you  have different roles in your system for example
  2263. 4:05:45just a user a moderator an administrator and  you should definitely check the fact that when
  2264. 4:05:51we enter the password and login for example  a user he cannot make any significant changes
  2265. 4:05:57in the work of our site so we pay attention to  that as well and of course the most common and
  2266. 4:06:03well-known error is 404 when our client accesses  a resource that is no longer on the server and of
  2267. 4:06:10course server errors they are the most critical  that is the most basic of them is 500 if we see
  2268. 4:06:19this error then we must necessarily have a bug  showstopper critical blocker that is we mean
  2269. 4:06:25such severity necessarily that is in this case  something happened on the server some fatal error
  2270. 4:06:33that prevents it from responding to your request  so this is very serious for our software that's
  2271. 4:06:38about status codes in a nutshell I would like to  point out that you should definitely know all five
  2272. 4:06:43of these types know a few examples of each of  them at least the most common ones which I have
  2273. 4:06:49told you today as part of this lesson because  at job interviews you are often asked to give
  2274. 4:06:54these examples and tell what they represent  in fact there are a lot of status Cotes and
  2275. 4:07:00it is unrealistic to memorize them all this is  um reference information that is if you find a
  2276. 4:07:06status code that you don't know that is not one  of the main ones you just Google it and see what
  2277. 4:07:11it is also some comp companies have their own  custom status codes meaning developers can assign
  2278. 4:07:17them to some certain specific functionality and  responses so again when you come to some project
  2279. 4:07:25a new company and you see code that is unknown  to you you can first of all find it out in the
  2280. 4:07:34documentation if you have it on your project or go  directly to the developer and find out what it is
  2281. 4:07:40that's the status of the code and the last thing  I wanted to talk about today is the HTTP protocol
  2282. 4:07:47versions as I said this information is in both  the requester and the responder the very first
  2283. 4:07:52version of the HTTP protocol is 0 to9 then is  not even one why is that because this version was
  2284. 4:08:02invented spontaneously and it simply could not be  assigned a certain number then there was already a
  2285. 4:08:09version of http1 that is when there were already  some standardized things in it me and there was
  2286. 4:08:18information about if I'm not mistaken three  methods get post and put and then was the HTTP
  2287. 4:08:27111 version which is actually now most often found  on some resources after HTTP 1 there was http2
  2288. 4:08:35Z in fact this protocol was originally called  cbpi that is if we are talking about version 20
  2289. 4:08:43it was invented by Google in order to raise the  performance of this protocol because already at
  2290. 4:08:48the stage of modern technology this protocol  HTTP 1.1 was becoming obsolete but later all
  2291. 4:08:56other companies picked it up and realize that  some improvements were needed in version of the
  2292. 4:09:04previous one one and this protocol was taken  standardized and now it is called HTTP 220
  2293. 4:09:13the http2 turo protocol has undeniable advantages  over HTTP 1.1 so if you're company has to choose
  2294. 4:09:22between these two versions of Protocols of course  it is better to use two what are these undeniable
  2295. 4:09:30advantages unlike one one20 uses binary format  that is zeros and ones the one one version uses
  2296. 4:09:39a text format as you realize using zeros and ones  greatly reduces the amount of information that
  2297. 4:09:45needs to be transmitted to the server and the  server transmits it back to the client the text
  2298. 4:09:53format has its disadvantages here because it takes  a lot more space and it takes longer to transmit
  2299. 4:10:01so it has a very good impact on performance the  second plus is that HTTP to T is faster that is
  2300. 4:10:09there is a reduction of information there again  due to the same bu binary format and because of
  2301. 4:10:15the fact that there is compression of our  header headers if we take the HTTP protocol
  2302. 4:10:24version 1.1 and study the various requests  and responses that are written using this
  2303. 4:10:29protocol then you may notice that there is a lot  of header double posting this is not the case in
  2304. 4:10:35http2 the main reason for this is that http2 is  multiplexed so what does that mean if version one
  2305. 4:10:48one each of our request whether it's sending HTML  code sending CSS sending JavaScript they go over
  2306. 4:10:56a separate TCP connection if we remember this  is a transport protocol so every request is a
  2307. 4:11:04separate TCP connection if we talk about protocol  version 2 Z then all these requests pass through
  2308. 4:11:12one single TCP connection that is there is no  distinction as to what information they send
  2309. 4:11:18to the server they always go over the same TCP  in version 1.1 as I said there will be as many
  2310. 4:11:24of these TCP connections as there are requests  and types of information that we send to uh and
  2311. 4:11:29receive from the server again if we're talking  about multiplexing then in the one one version
  2312. 4:11:37all of these requests come one after another for  example first we get some text information h HTML
  2313. 4:11:44then we get some style information CSS then we  get JavaScript information some Dynamic update
  2314. 4:11:50of our page and so these are all these connections  going through one after another in 2.0 there's no
  2315. 4:11:58such thing that is we have one connection and the  information is transmitted simultaneously both
  2316. 4:12:05from the request side and from the response  side from the server that is they all these
  2317. 4:12:11actions happen in parallel you don't have have  to wait for the end of a certain type of request
  2318. 4:12:17everything happens at once these are perhaps the  main differences between these two versions of
  2319. 4:12:23protocols and now I remember what I wanted to tell  you more today this is how we can visually see how
  2320. 4:12:30our requests and responses come where we can see  the information about the protocol version and
  2321. 4:12:36the status of the code so let's go with you now  to the browser and I'll show you how to do this
  2322. 4:12:43I've opened the onliner site in advance if  you live in bellarus I think everyone knows
  2323. 4:12:48what kind of resource this is if not you can  open any site that you are interested in and
  2324. 4:12:56perform the same operations in order for us  to work with requests and answers we need to
  2325. 4:13:02open the so-called Dev tools that is developer  tools already inside our browser these tools
  2326. 4:13:09are available in all known browsers and and  they usually open after clicking F12 next we
  2327. 4:13:18navigate to the network Tab and refresh our  page as you can see our initial requests have
  2328. 4:13:24already passed and we have received some  responses from our server and here we can
  2329. 4:13:30already discover some initial information  that is we can see the method that is used
  2330. 4:13:35and we can see the status code in other words  everything has successfully passed here and the
  2331. 4:13:43version of our protocol if you don't have  any of these columns you just rightclick
  2332. 4:13:48and customize them as you need based on what  you're interested in when we open any of these
  2333. 4:13:54requests then here you can already see  detailed information about what we sent
  2334. 4:14:02to the server and what we received  from it this includes information
  2335. 4:14:06about our requested URL the method that  was used and details about our status code
  2336. 4:14:20we have everything here the Header  information is included in our
  2337. 4:14:25response you can see all of it right here if  we notice any errors like the status code 404
  2338. 4:14:36or a 500 error then we definitely have a bug  the bug is typically logged as we've already
  2339. 4:14:44done in jira or Azure devops or another tracking  system or even in Excel ideally you should copy
  2340. 4:14:51the information about our quester and take a  screenshot make sure that it's the dev tools
  2341. 4:14:56information to get in the screenshot and on top  of that you can save all this information in a
  2342. 4:15:03special archive which your developer will be  able to open on his computer and view all the
  2343. 4:15:09information about responses requests and what  happened when you sent this or that request to
  2344. 4:15:15the server further on in our lessons we will work  with devv tools in more detail I will tell you
  2345. 4:15:24about the basic elements blocks that are in this  tool they work similarly in all browsers there's
  2346. 4:15:31some additional functionality somewhere but will  probably most often refer to Google Chrome and uh
  2347. 4:15:37the dev tools that are in this browser all also  this tool has a great written documentation that
  2348. 4:15:46you can also read familiarize yourself with it  I will leave a link to this documentation in the
  2349. 4:15:53description of this video that's all I wanted  to tell you about the HTTP protocol today I
  2350. 4:16:00hope that this information has made your heads a  little clearer about how this protocol Works in
  2351. 4:16:05general and how we send requests the responses  that we receive from the server what we should
  2352. 4:16:13pay attention to when testing and in the future  at interviews or in real work you will have no
  2353. 4:16:19questions and you can easily understand what  the bottlenecks are in the answers or sending
  2354. 4:16:27requests to the server additionally I would  like to remind you that I have a telegram
  2355. 4:16:33Channel where I regularly post information on  what you should focus on when preparing for an
  2356. 4:16:37interview for a novice tester position there are  already multiple articles available with useful
  2357. 4:16:44links and answers to the most frequently asked  questions moreover I will be sharing links to
  2358. 4:16:51literature that I personally read when I decided  to pursue a career in it and to become a tester
  2359. 4:16:58and of course links to my videos on this channel  and perhaps things I don't have time to cover in
  2360. 4:17:04these classes that's all for me please subscribe  to this channel Welcome to our shalash bye
  2361. 4:17:30[Music]
  2362. 4:17:31hello YouTube in today's lesson let's continue  studying web application testing and talk about
  2363. 4:17:37the basic concepts that will make it easier  for you to understand the subject area and
  2364. 4:17:42give you the necess necessary theoretical  background to continue our work together
  2365. 4:17:47don't be frightened we will spend the next few  lessons in the Practical mode but for now let's
  2366. 4:17:52bear with the theory for a while let's start  with a simple one let's imagine that we open
  2367. 4:17:59a browser what's the first thing we do most  likely we type a URL into the address bar
  2368. 4:18:05or uniform resource locator this is a unique  address of a website on the web which defines
  2369. 4:18:13its location on the internet there are  also two other Concepts uran and UI uran
  2370. 4:18:19is an unchangeable sequence of characters that  defines only the name of some resource this name
  2371. 4:18:25defines only the name of the resource itself  but it does not tell you how to connect to
  2372. 4:18:31it there is also a concept known as urai  which stands for our unique identifier
  2373. 4:18:41this is a broader notion encompassing multiple  ways to identify our resource it includes both
  2374. 4:18:47URL and earn and it can incorporate them  either separately or together therefore
  2375. 4:18:53we can consider in identifier as our  locator or an identifier as a name or
  2376. 4:19:01even an identifier as both our URL and earn  combined now let's examine some examples to
  2377. 4:19:08give you a clearer understanding of how these  three types of entities differ from from one
  2378. 4:19:13another so look here what in our address bar  stands for identifier what stands for locator
  2379. 4:19:27and what stands for name as you can see our  locator defines the way that we're going to
  2380. 4:19:32access it and the address bar itself which is  directly the address of the location on the
  2381. 4:19:38network if we are talking about the name then  we are not interested in how we are going to
  2382. 4:19:46access the file we are primarily interested  only in the name of the file so we are not
  2383. 4:19:54interested in the name of the protocol and the  address itself in this case and as I said an
  2384. 4:20:02identifier includes both the locator and the name  but can also include them separately since we are
  2385. 4:20:09talking about addresses then of course if we  are talking about the internet it is necessary
  2386. 4:20:14to pay attention to the IP address what is it  it is a unique Network address of a node in
  2387. 4:20:21a computer network built on the IP protocol and  IP address is either 32-bit by ipv4 or a [Music]
  2388. 4:20:30128bit the IPv6 version is a binary number here  we have four binary numbers Each of which can
  2389. 4:20:40include eight bits there are four such clusters  in total so 32 bits or four bytes but using the
  2390. 4:20:46binary number system to write IP addresses is not  very convenient they get cumbersome so most often
  2391. 4:20:53IP address you see in the form of decimal numbers  that is they are simply translated into them and
  2392. 4:21:03each such decimal number cannot be greater than  255 sometimes at interviews you may be asked how
  2393. 4:21:11to translate IP addresses from decimal to Binary  and vice versa let's review together how this
  2394. 4:21:18can be done easily and simply let's convert  a number from decimal to Binary for example
  2395. 4:21:26let's take 19 how can this be done without using  any calculators or the same converters to other
  2396. 4:21:35systems to do this we take the number itself  for instance it will be 19 and divide it by two
  2397. 4:21:45[Music] here the usual rules of arithmetic apply  that means if we cannot divide this number without
  2398. 4:21:54a remainder we take the closest possible number  that is divisible by two we write it down and this
  2399. 4:22:01remainder will be one then we divide the number  we have as a result of the division which in this
  2400. 4:22:06Cas is 9 by two again this situation is repeated  once more meaning we again write down the closest
  2401. 4:22:12possible number and the remainder is one so we  keep doing this until we have such a situation
  2402. 4:22:18that we cannot continue our division by two  that is in this case we have one last when we
  2403. 4:22:25divide it by two we get a number not integer  0 five we write it as zero and here again we
  2404. 4:22:33write the remainder this zero we do not take  into account the last one but we take into
  2405. 4:22:40account only that we can easily divide it by two  and further we write down this number starting
  2406. 4:22:46from the most recent obtained uh and to the very  first this number we will get in binary system I
  2407. 4:22:56hope it is clear to you how to do it in any  case I will post these pictures in telegram
  2408. 4:23:03so that you can easily look at them and refresh  your memory and somehow structure the data that
  2409. 4:23:12you have received in the framework of  this lesson if we talk about the reverse
  2410. 4:23:18situation when we need to convert from binary  to decimal then we take our number in binary
  2411. 4:23:24and starting from the last one number it  that is0 1 2 3 4 we have a total of five
  2412. 4:23:32digits in a given number and then we start  multiplying our digits in this number by
  2413. 4:23:41two to the degree that will be given at the top  that is the ordinal number of this number after
  2414. 4:23:47that we plus all the values that we got and we  get our number in decimal form that is there is
  2415. 4:23:55nothing complicated about it you just need to  practice on some numbers on examples in order
  2416. 4:24:01to build up your hand and in case you do get  asked this I've never actually been asked this
  2417. 4:24:06in interviews but in my course that I took at the  it Academy we looked at examples like this and in
  2418. 4:24:13principle it's never unnecessary to study these  translations of course there are online converters
  2419. 4:24:22and even the built-in Windows calculator has the  ability to convert numbers from decimal to Binary
  2420. 4:24:28and vice versa so uh you can use that too but  there's always the possibility that you'll be
  2421. 4:24:37can still ask in interviews how this can be done  simply on a piece of paper the next aspect that I
  2422. 4:24:45would like to touch on within an IP address is the  subnet mask when an IP address is assigned to an
  2423. 4:24:51interface such as a network adapter on a computer  or router then in addition to the address of that
  2424. 4:24:57device itself the IP address it is also assigned  a subnet mask computer subnet mask is needed to
  2425. 4:25:04define the boundaries of the subnet itself so  that everyone can determine who is in the same
  2426. 4:25:12subnet network with him and who's outside of it  a subnet mask is essentially a 32-bit tool but
  2427. 4:25:20unlike an IP address zeros and ones cannot  alternate there are always a few ones first
  2428. 4:25:26followed by a few zeros for example if you and I  look at the subnet mask in English it is called
  2429. 4:25:31the subnet mask you can see that we have only  ones first and then zeros that means we cannot
  2430. 4:25:38have such a thing as in IP address where there is  alternation in in a subnet mask the structure is
  2431. 4:25:44much stricter and more predictable I think that  after considering the IP address it became clear
  2432. 4:25:49to you that's such a record in the form of binary  system of calculations is not very convenient so
  2433. 4:25:57they use a simplified version write just the  number of units that we have in the mask under
  2434. 4:26:02the network that is here we have them 25 so after  IP address can put a slash and write the number
  2435. 4:26:0825 I think that those of you who have ever set  up a browser or network connection on a Windows
  2436. 4:26:16system you have paid attention to IP addresses  and how they are written there subnet mask that
  2437. 4:26:24is sometimes you can meet such an entry with  a slash in the number of these very units that
  2438. 4:26:30we have in the subnet mask but also you may have  met another entry when we do not write this subnet
  2439. 4:26:35mask with a slash but in general the boundary  of our sub network is written in this form
  2440. 4:26:42then here is already taken into account both the  subn network mask and the IP address itself how do
  2441. 4:26:50you define the subnetwork boundary in general that  is we take our IP address takes the mask under the
  2442. 4:26:59network and each digit that is contained in these  addresses it is multiplied by each other and as a
  2443. 4:27:06result we get this record which is also further  translated into to a distitch system of calculus
  2444. 4:27:13for convenience record that is if we pay attention  we have 25 units in the network mask we multiply
  2445. 4:27:20all of them that is this address is completely  the same as in the IP address and where we had
  2446. 4:27:26zeros and units which are multiplied to zeros  meaning they are all written as zeros also when
  2447. 4:27:36they talk about a IP address there is a static and  a dynamic IP address if we talk about Dynamic IP
  2448. 4:27:45address it is automatically assigned when the  device connects to the network and is used for
  2449. 4:27:51limitted period of time usually until the end of  the connection session this does not happen with
  2450. 4:27:58a static one that is we always have the same IP  address also in the topic of all these addresses
  2451. 4:28:05it say also worth mentioning Mac address this is  the physical address of our device it is written
  2452. 4:28:12to when the network card is manufactured that is  if you are suddenly asked in interviews how many
  2453. 4:28:20Mac addresses there are in a system you should  always say that it is the same number as the
  2454. 4:28:27number of network cards we have installed in the  equipment that belongs to this system I mean if we
  2455. 4:28:33have a a network card in our printer it would also  have a MAC address and be counted in that total
  2456. 4:28:38number that is it is not always true to say that  if we have for example uh a network card in the
  2457. 4:28:45computer that is responsible for our connection  via Wii it is one we always count all the devices
  2458. 4:28:51that are connected to the computer and that have  a MAC address meaning that uh they can go online
  2459. 4:29:00now we know what an IP address is that is it is  unique number of each device on the internet and
  2460. 4:29:10to get to the site we need to know IP address of  the device on which this site is located let's
  2461. 4:29:17imagine with you how many sites you visit every  day if they were all encrypted in this digital
  2462. 4:29:23form in the form of IP addresses then imagine how  many numbers digits you would have to keep in your
  2463. 4:29:30head it's unreal therefore for our convenience  for the convenience of working on the internet
  2464. 4:29:37back in 8h years was created a system of domain  names or it is still called DNS domain name system
  2465. 4:29:48the meaning of it is that each digital IP address  is assigned a clear alphabetic name or it is also
  2466. 4:29:54called a domain that is when you enter a domain  name in the browser these DNS servers converted
  2467. 4:30:01into an IP address that is each of our domain each  URL has a corresponding IP address server and with
  2468. 4:30:09the help of DNS this information in the letter  value is converted into a numerical value and
  2469. 4:30:16the server can understand what they want and what  information they want to get so we already get
  2470. 4:30:25information from the servers in this alphabetic  form using the to DNS conversion and the last
  2471. 4:30:34part of our lesson will be devoted to browser  cache and cookies what is browser cach a and what
  2472. 4:30:42is it for when you surf the Internet downloading  browsing web pages you may not even be aware of it
  2473. 4:30:49your browser automatically saves certain data to  your computer's hard disk this can include various
  2474. 4:30:58elements of website design such as pictures  images video files music and much more this
  2475. 4:31:05process is done so that the next time you access  the page it will load more quickly this is because
  2476. 4:31:11some of the information information is downloaded  not from the server but directly from your hard
  2477. 4:31:16disk this end is our cache that is it is data  which are downloaded from our computer in order
  2478. 4:31:29to simplify our work on those sites that we used  to visit that is to speed it up and not to load
  2479. 4:31:37so server as it could be if we every time turn  into it in search of the necessary to Us Media
  2480. 4:31:45information for example if we are talking about  cookies these are also temporary files that are
  2481. 4:31:49stored on the hard disk of the user's computer  however cookies are used to store users's personal
  2482. 4:31:55data what can it be it can be authorization data  or login and password settings on certain sites
  2483. 4:32:02your preferences that is at the moment when  we visit a page the browser sends this data
  2484. 4:32:08to the server thanks to which for example allows  us to get to our personal page in a social network
  2485. 4:32:16without having to constantly enter our login  and password on the page of authorization to
  2486. 4:32:22this network also this data can be taken into  account by when providing you with contextual
  2487. 4:32:32advertising that is your preferences are saved  in the browser and based on these preferences the
  2488. 4:32:38advertisements that will be shown to you will be  the ones you are most likely to be interested in
  2489. 4:32:43this is an important aspect of cookies and cache  that you should be aware of in the next lesson we
  2490. 4:32:49will explore Dev tools which we mentioned in our  second lesson to review the main tabs within it
  2491. 4:32:57and understand how they can assist us in testing  perhaps I haven't decided yet I will tell you
  2492. 4:33:04about HTML and CSS in a couple of words or if we  won't have time or if the lesson will be very long
  2493. 4:33:11I will tell you about CSS and HTML in the next  lessons so be sure to stay with me the Subscribe
  2494. 4:33:18button will help you it's only going to get more  interesting from here on out in the meantime write
  2495. 4:33:24in the comments whether this lesson was useful for  you and what else you would like to learn about
  2496. 4:33:29testing web applications I remind you that you can  find useful links to articles and literature in my
  2497. 4:33:37telegram Channel or in the description of to some  videos and that's all for now Welcome to our tent
  2498. 4:33:45[Music] bye hello YouTube it's been a while since  we've seen each other but that's for a reason uh
  2499. 4:34:07as you know I live in the Republic of bellarus the  last video was just recorded about this situation
  2500. 4:34:12in our country now in principle it continues it  is developing nothing much has changed only that
  2501. 4:34:19law enforces now do not use Force no matter how  topological it sounds but the situation is still
  2502. 4:34:27difficult on top of that during this period of  time I managed to change my job now I work in
  2503. 4:34:33a product company and I'm also going through the  process of onboarding so free time is not so much
  2504. 4:34:41now all my thoughts are occupied with both work  and events happening in my homeland but still to
  2505. 4:34:48distract myself I decided to record this video and  still continue our training in testing uh in this
  2506. 4:34:56case testing web applications as promised today  we are going to talk about Dev tools this is a
  2507. 4:35:04special package for web application development it  is also used for testing and is built directly in
  2508. 4:35:11to the browser itself whether it is Google Chrome  or Mozilla they're of course a little differently
  2509. 4:35:18called the development package in general every  browser has it but today we will consider this
  2510. 4:35:24tool within the browser uh Google Chrome as it  is currently the most common the most used and
  2511. 4:35:32in principle everything you learn today you can  apply to other tools that are built into the other
  2512. 4:35:40browsers 2edge which is now by the way written  on chromium so there in principle it is exactly
  2513. 4:35:46the same as in Chrome in Mozilla in Firefox  in Opera and in Internet Explorer there are
  2514. 4:35:52also similar Utilities in all these browsers why  are we going to study this tool together because
  2515. 4:35:58it is quite common in the development environment  and it helps to develop and test web applications
  2516. 4:36:12there is some truly excellent documentation  written on Chrome Dev tools you can read it study
  2517. 4:36:17it and learn all the features that suggest using  Dev tools so I highly recommend that you read that
  2518. 4:36:25as well I'll make sure to leave a link to that  documentation in the description of this video
  2519. 4:36:30now let's get down to business so how do we invoke  Chrome Dev tools well there are several ways to do
  2520. 4:36:36it the easiest method is to rightclick and select  view code espe especially if we're talking about
  2521. 4:36:43Russian if we say in English then there will be  an inspect if I'm not mistaken inspect element and
  2522. 4:36:53you can click that too and you'll see Chrome Dev  tools you can also do it by pressing key F12 also
  2523. 4:37:01by default this key brings up all such Tools in  other browsers in the same way you can also invoke
  2524. 4:37:07this utility how can we customize this console at  all as you can see it is currently located on the
  2525. 4:37:15right if you click on the three dots here you can  change its location Al together it can be a bottom
  2526. 4:37:22it can be on the left or it can be in a separate  window for example if you have two monitors that
  2527. 4:37:28you're working on you can simply move these  Dev tools to a separate monitor on a separate
  2528. 4:37:34screen and work directly on the browser itself  on one Monitor and in Chrome Dev tools on the
  2529. 4:37:43let's go back to the view we had originally  and here's another way to call this console
  2530. 4:37:53for instance if you close it now click on it  and then click on view code as I mentioned
  2531. 4:38:02earlier it will directly open dtml file it will  open on the element that you wanted to inspect
  2532. 4:38:11so when you click view code here it opens up  a line that specifically spells out how this
  2533. 4:38:17file how this particular element should look on  the page as I said we will also talk about HTML
  2534. 4:38:23and CSS but not within the framework of this  lesson but a little later in other lessons
  2535. 4:38:30within the framework of studying and testing web  oriented applications here you can when you open
  2536. 4:38:36the console in the elements tab after inspecting  an element see how it is written in the layout
  2537. 4:38:42in HTML file view its Dimensions there is also  information about accessibility that is all of
  2538. 4:38:52this will be written here also you can directly  here to change this file and the change in this
  2539. 4:39:01code in this attribute will be directly displayed  on your page for example if you and I look at the
  2540. 4:39:09code of some header and start to change it for  example remove the word mobile then as you can
  2541. 4:39:17see the information on the page itself will change  this is how you can test for example headlines
  2542. 4:39:23when you enter a large number of characters  how they will be displayed whether they will
  2543. 4:39:29not Drive In on other elements on the page or vice  versa if you enter one character or no character
  2544. 4:39:36at all how it will also be displayed you can see  how on UI will we displayed this element on the
  2545. 4:39:44page so this is used in testing also if you and  I go a little bit lower you will see the Styles
  2546. 4:39:50tab here you will already have information about  CSS about the design of all these elements that
  2547. 4:39:56is the sizes will be describ the fonts that are  used when writing and all of this can be checked
  2548. 4:40:03out here paddings margins that is all of this we  will also discuss a little bit in detail in the
  2549. 4:40:11next next lessons just know that in the Styles tab  for example you can see what color was applied of
  2550. 4:40:18this or that element what font that is when you  test the UI opening some mockups templates of
  2551. 4:40:24your page which were provided to you by designers  they will also have information about what fonts
  2552. 4:40:29what size what uh elements pictures should be  used what color what size used and you should
  2553. 4:40:35definitely check whether the developer really  took this into account when writing the code
  2554. 4:40:41when layout of this page so you're just  comparing to see if that's really the case
  2555. 4:40:47and if it matches our template directly also  the next tab is the console in the console
  2556. 4:40:54we have the JavaScript execution errors  and in general in this console you can
  2557. 4:41:01execute various scripts written in JavaScript  that is Su see we have some errors here there
  2558. 4:41:11are warnings about some errors that may occur in  the future we should definitely study all this and
  2559. 4:41:16in case we find such bugs we need to introduce  bugs tring system bugs how is this done uh you
  2560. 4:41:25directly write under what conditions this or that  error is reproduced and displayed in the console
  2561. 4:41:31that is what you opened what steps of reproduction  and then you copy just all the information that
  2562. 4:41:38you have there is in the console on this buck  and and attach this information to the buck the
  2563. 4:41:45developer having received this information later  can process it and find out what the main reason
  2564. 4:41:51is that is we as a manual tester especially at  the level of June do not need to know all the
  2565. 4:41:57peculiarities of JavaScript how it is processed  why does such an error occur this is already the
  2566. 4:42:05developer's task the main thing for us is to find  this error formalize it write a bug report and
  2567. 4:42:12see if the developers have really fixed it this  or that error we should definitely report all
  2568. 4:42:18errors too checkout critic or blogger depending  on what you have checkout on the project if again
  2569. 4:42:27we have some warnings which in future can also  lead to errors they are highlighted in yellow
  2570. 4:42:36here they should also be reported because they  can lead to some serious errors in the future
  2571. 4:42:41future therefore in the same way as  described above we formalize these
  2572. 4:42:48errors in our backtracking systems or  in other systems used in your project
  2573. 4:42:53typically these errors are written by the  developers themselves meaning they do not
  2574. 4:42:58use the default ones however if the developers  are lazy they might resort to using the default
  2575. 4:43:05errors provided by our browser regarding this  tab we can also select what we want to see in
  2576. 4:43:14general for example if we remove error information  it disappears and we only see some warnings in the
  2577. 4:43:25earning if we add it we can see it that is all  this can also be customizable that is at your
  2578. 4:43:32leisure you can click through everything that is  written here and see what it can lead to the next
  2579. 4:43:37tab is sources here we have information about  the servers that our client accesses that is is
  2580. 4:43:44information that is directly on the server of the  onliner itself but also for example some pictures
  2581. 4:43:50or I don't know information about exchange rates  maybe media files are taken from other servers so
  2582. 4:43:57we can also see where they come from all of this  information is contained here in fact I probably
  2583. 4:44:03have not used this tab once in my work but it is  quite possible that your project will use as well
  2584. 4:44:11the most important tab that is generally used  during testing is the network tab here we have
  2585. 4:44:19information about communication between our server  and client this is an important tab because here
  2586. 4:44:28we can see the requests that the client sends and  the responses that the server returns all of this
  2587. 4:44:34can be explored here you and I are in our first  class on testing web Centric applications the link
  2588. 4:44:39will appear at the top now we talked about this  a little bit when we looked at the HTTP protocol
  2589. 4:44:45but we can definitely come back to this again so  what can we actually have in this tab directly in
  2590. 4:44:53xhr this is where we find detailed information  about requests sent directly to the web server
  2591. 4:45:01and also about downloading the responses from  those servers that directly call the scripts
  2592. 4:45:08this is our main tab within Network additionally  here there are tabs like all meaning here we have
  2593. 4:45:16requests of all types displayed if we're talking  about JS this is where you'll find information
  2594. 4:45:21about the JavaScript we're running on the page CSS  is information directly about CSS image this is
  2595. 4:45:29information about the images that we have loaded  media information about various media files be it
  2596. 4:45:37videos or some audio files Foundation information  about fonts doc this is the information that we
  2597. 4:45:45enter into the address bar and send a request to  the server that is here we display such requests
  2598. 4:45:52W is websocket websocket is a protocol that allows  exchanging messages between a browser and a server
  2599. 4:46:00in real time mode time that is here are displayed  exactly these messages of our client and server
  2600. 4:46:10manifest is a special Json files we will talk  about Json format in more detail when we start
  2601. 4:46:18the topic of API but just to give you a simple  understanding of what a manifest is as I said
  2602. 4:46:24these are special Json files special information  about our web application for our browser and in
  2603. 4:46:34the other tab we have everything else that didn't  get differentiated by these different tabs here
  2604. 4:46:41going back to xhr which is our main tab where we  work in network here we can see directly the name
  2605. 4:46:51of our request the method that our HTTP request  uses the status code that Returns the server
  2606. 4:46:57protocol here we will have information about the  version of our protocol as you and I remember
  2607. 4:47:03there are versions one: one and two if you forgot  again you can go back to to the video dedicated
  2608. 4:47:11to the HTTP protocol where I talked in detail  about the differences in the versions of these
  2609. 4:47:17protocols type okay that would be xhr which  stands for XML HTP prequest initiate is the
  2610. 4:47:26file or site that initiated this request meaning  where the request originated size is the size of
  2611. 4:47:30the request or response in bites there's also  time here which represents the total processing
  2612. 4:47:34time for this request and waterall this shows you  a timeline of how our events have progressed in
  2613. 4:47:38general if we look at the status bar we can see  a detailed breakdown of how much time was spent
  2614. 4:47:42sending the request and receiving a response from  the server that is we can analyze all this too
  2615. 4:47:50in order to understand if we have any performance  problems there is also such a checkbox as disable
  2616. 4:47:57cache that is we disable cash sa saving on  this page this is necessary so that when we
  2617. 4:48:03accept some requests during testing does not use  old data that could somehow affect the further
  2618. 4:48:10outcome of our actions so the cache is turned  off preserve log is a record of our log that
  2619. 4:48:16is the logging of the process again so that if  we have some errors that appear as a result of
  2620. 4:48:22our work we can save this log and pass it to the  developer for further analysis there is also the
  2621. 4:48:27possibility of simulating different conditions  that is we can set it as if we have a fast 3G
  2622. 4:48:32internet connection or a a slow 3g connection or  if we are offline at all what will happen to our
  2623. 4:48:40internet connection if you are using the page what  status codes will be sent you can customize and
  2624. 4:48:47select all this here and it is not necessary for  example to connect specifically to some dedicated
  2625. 4:48:55network adapter that uses for example 3G or 4G or  Wi-Fi we can customize that here there are also
  2626. 4:49:05some custom settings that you can add yourself in  order to simulate the work of areas connections
  2627. 4:49:12the next tab is performance this tab is essential  for both you and me to generally keep track of
  2628. 4:49:20the performance of our site for instance observe  how it is done for example if you and I initiate
  2629. 4:49:27the process of recording what occurs during the  operation of our site we can click record refresh
  2630. 4:49:33our page and then click stop let's wait a moment  while the processing of what was happening takes
  2631. 4:49:39place and here you can see information about  how long certain processes took place on our
  2632. 4:49:47site and how they could affect our performance  then you have a diagram like this where there
  2633. 4:49:54are different ratios of certain processes in  terms of time how long they took this can all
  2634. 4:50:01be analyzed as well if we talk about this diagram  something is not indicated if we're talking about
  2635. 4:50:09lowing that's the low time of our page scripting  is the time of running scripts on our page and
  2636. 4:50:15some math calculations rendering is the time  rendering processes that is the arrangement of
  2637. 4:50:22layers and blocks on our page are colorless and  paging is when we have these colorless layers and
  2638. 4:50:29blocks are colored that is how much time it takes  system is some system processes idle is the time
  2639. 4:50:37of inactivity in general that we have had during  the time of our post what is this good for because
  2640. 4:50:47we can analyze how much time was spent for example  if you have some standards that it should take you
  2641. 4:50:52so many milliseconds to load and you realize  that during performance testing this time has
  2642. 4:50:59increased very much it means that something  affected it you have to analyze it or if you
  2643. 4:51:06do not have enough knowledge for this analysis  you can simply save information about how you
  2644. 4:51:12head this process of loading the page it's easy  to do so you just save by clicking this button
  2645. 4:51:20and then you send it to the developer for example  in a bug report of some kind that is you indicate
  2646. 4:51:26that your page load time is greatly exaggerated  compared to for example some empirical data that
  2647. 4:51:33were obtained earlier and it gets this file it  can upload it back to itself so our file here it
  2648. 4:51:41is it downloads it and it also displays  all the same information that you had in
  2649. 4:51:49your browser at the moment when you started this  process of recording the performance of this or
  2650. 4:51:57that resource and he can see it all analyze it  look at it understand in general maybe depends
  2651. 4:52:04on the browser what was happening in general what  influenced the process of loading rendering bring
  2652. 4:52:10scripting all this he can view plus here again  you can simulate some processes related to the
  2653. 4:52:18speed of the internet or it's complete shutdown  or or slowing down our CPU that is speaking in a
  2654. 4:52:27enjoyable manner all this can be done here as  well another tab is security here you can see
  2655. 4:52:35in general what protocols are applied on the page  you are testing whether they are secure that is
  2656. 4:52:40as we know there are two types of protocols there  are HTTP and https which we mostly use on the
  2657. 4:52:47internet to display this or that page if we are  talking about HTTP this protocol is insecure and
  2658. 4:52:56is potentially insecure if we are talking about  https this protocol is secure and encrypted that
  2659. 4:53:04is we already use an SSL certificate and  you can also view this information exactly
  2660. 4:53:10the security tab what protocol you are using  view the certificate itself information about
  2661. 4:53:16whether it is valid or not if we had HTTP  protocol used here there was information
  2662. 4:53:23highlighted in red it says that this protocol  is potentially insecure and in the page loads
  2663. 4:53:31uh we would have that information displayed  you are sure that you want to use an insecure
  2664. 4:53:36connection why is it important to open  the security Tab and check this because
  2665. 4:53:42often some sites use information from other  sites from other servers that may already be
  2666. 4:53:46using the HTTP protocol that insecure and for  example if you have some financial information
  2667. 4:53:53on your project passwords addresses appearances  then it is not safe to transmit this information
  2668. 4:54:01via HTTP protocols that is when you study this  information you will see that you do have sites
  2669. 4:54:07that are accessed directly by the resource that  you are testing and those sites are using the
  2670. 4:54:13HTTP protocol you should also report this to  the developer that the potentially insecure
  2671. 4:54:19protocol is being used on your site um and we  need to do something about it uh maybe you have
  2672. 4:54:27some agreements requirements where this HTTP  protocol is spelled out on your project that
  2673. 4:54:32we can use it on other resources but um again if  that's not the case it's better to once again Ask
  2674. 4:54:39the develop velers business analysts production  designer if can really use this protocol directly
  2675. 4:54:46on this site and if it's not an issue that's  about the security tab when you practice for
  2676. 4:54:53example with def tools I believe that you will  definitely take a look at the security tab on
  2677. 4:54:59various resources and then you will observe when  we use the HTTP protocol and what is specifically
  2678. 4:55:06shown in this tab additionally besides the main  tabs that we have examined today there are also
  2679. 4:55:16tabs that are directly related to extensions that  are used in the browser although it is not part of
  2680. 4:55:23the the scope of this tutorial and in principle  you will not need to use these tabs for your work
  2681. 4:55:34I would also like to note that on this panel  in Dev tools there are additional buttons
  2682. 4:55:40that also simplify the work of the tester  for example you can inspect an element as
  2683. 4:55:45I've already told you you can do this by simply  right clicking on some element and view the code
  2684. 4:55:50or you can click on such an arrow and point to  the element you are interested in and there will
  2685. 4:55:57be information about that element some basic  information about that element plus if you
  2686. 4:56:03click on it you will be taken directly to the  line in the HTML that describes the element it
  2687. 4:56:08is also very convenient for or for example  mobile testing or if you suddenly know that
  2688. 4:56:14you will use Mac 4 of your site here you can  customize different resolutions for different
  2689. 4:56:22devices that is you can select for example  some pre-installed for example pixel 2 it
  2690. 4:56:28will automatically to you draw the resolution that  is used in the pixel 2 smartphone and you can see
  2691. 4:56:34how this page will be displayed on the screen  of this Smartphone this is very convenient if
  2692. 4:56:40for example you don't have a mobile app but  you need to test on some specific resolution
  2693. 4:56:45then you can customize it all here and again this  is where you can simulate different connections
  2694. 4:56:52soon we can also see how the page behaves if we  flip the phone vertically horizontally so you
  2695. 4:56:59can see that here as well I would also like  to tell you that you can simulate the work
  2696. 4:57:04of various sensors that can be used in mobile  devices this is also very easy to do we click
  2697. 4:57:13on three of these dots right here  click mod tools and select sensors
  2698. 4:57:21and here we have sensor for example we  can look at GPS that is we can customize
  2699. 4:57:28it as if we had a device in London  in Moscow in some other city that
  2700. 4:57:33is we can customize all of this here  you can uh also simulate the excelam
  2701. 4:57:42you can find that there as well there's also  an interesting option to connect our cell phone
  2702. 4:57:47directly to our computer and use Chrome Dev tools  and view the of this phone screen directly in our
  2703. 4:57:54Google Chrome browser this topic is more related  to mobile testing so I will not be covering it
  2704. 4:58:00in this particular lesson however if you are  still interested in learning how this can be
  2705. 4:58:06done and how you can connect your phone and use  Chrome Dev tools using our computer or laptop be
  2706. 4:58:14sure to write about it in the comments section  I'll make sure to talk about it in detail in the
  2707. 4:58:21mobile app testing videos uh and that's all for  me today we've had a very productive day diving
  2708. 4:58:26into the details of a tool like Chrome def tools  we covered what tabs are available and how you can
  2709. 4:58:33effectively use them during testing I truly hope  this video has been really useful to you if it has
  2710. 4:58:40please leave your likes write some comments  and subscribe to this channel your support
  2711. 4:58:45means a lot to me we are already more  than 300 strong I am extremely pleased
  2712. 4:58:51that this topic interests such a wide  range of viewers let's call you that
  2713. 4:58:56you and I are doing a Good Deed by learning  I hope this knowledge helps you become more
  2714. 4:59:02confident in testing and land your first  job see you soon Welcome to our tent bye
  2715. 4:59:29[Music]
  2716. 4:59:30hello YouTube last week we had a fruitful  conversation about what Chrome Dev tools is
  2717. 4:59:36what tabs it has and what this tool can be used  for when test ing web oriented applications as
  2718. 4:59:43promised this week we'll cover HTML and CSS  but I will warn you right away not in the
  2719. 4:59:49direction that we will learn how to lay out  Pages describe the design of these pages and
  2720. 4:59:54style in CSS files no we will learn in general  what HTML code consists of where you can see a
  2721. 5:00:04description of it code and a description of  it's St style and design with CSS this way
  2722. 5:00:12you can get an idea of how to test these two  elements using these two formal languages uh
  2723. 5:00:17let's begin with HTML what exactly is it HTML  instructs the browser on what elements should
  2724. 5:00:25be present on the page in other words it is  with HTML that we define various text blocks
  2725. 5:00:32the information within them and how they should  appear on our page essentially laying out our site
  2726. 5:00:46plus with the help of HTML you can also set some  simple Styles describe fonts add various elements
  2727. 5:00:53to the page or or even add pictures but for  customization in a significant way we use CSS we
  2728. 5:01:03will talk about that a little later when we disc C  HTML in English its full name is hypertext markup
  2729. 5:01:15language that is it is a hypertext markup language  let's design a separate node which we will call
  2730. 5:01:23HTML right away I want to point out that HTML  is not a development language a programming
  2731. 5:01:34language so don't fall for it when you are  asked for example what programming languages
  2732. 5:01:41do you know you don't need to say HTML that is  programming languages are Java JS Python and
  2733. 5:01:48other programming languages known to everyone  please do not call HTML HTML is a subspecies
  2734. 5:01:55of XML XML is extended markup language so it's  an extended markup language and it's used for
  2735. 5:02:03API testing it is prescribed in subprotocols  which we will disc us a little bit further on
  2736. 5:02:11within the framework of testing as I mentioned  apis that's where XML comes into play so these
  2737. 5:02:17languages are quite similar we will later go  over the rules of writing files in XML because
  2738. 5:02:24this is frequently Asked in interviews and it  is crucial when testing apis now let's return to
  2739. 5:02:32HTML a unit of information in HTML is a tag that  is bracketed I think that tags with you we have
  2740. 5:02:45all seen that is it [Music] is such brackets  which contain some tag that is the name of
  2741. 5:02:54this tag for example there is such a famous  tag as a this is hyperlinks that is we can
  2742. 5:03:01write hyperlinks here tag B for example says that  our tag should be written in bold and such Texs
  2743. 5:03:10should have a closing part with the slash what  it looks like for example is for B that is again
  2744. 5:03:20our curly bracket SL tagname and then we close  that Curly bracket so we will definitely need
  2745. 5:03:27this kind of closing tag such closing tags are  used if there is some information between our
  2746. 5:03:36two tags but there are also tags that do not  need to be closed for example such tags include
  2747. 5:03:44the input tag the IMG tag that is as you can see  you just need to put it before the second closing
  2748. 5:03:52bracket slash what is the difference between  tax with a closing element and tax without it in
  2749. 5:04:00that if there is some information between these  tags for example if we are talking about tags B
  2750. 5:04:10which indicate that our font is bold that is bold  then for example there may be some text let's
  2751. 5:04:18put it this way text that is this text will be  displayed in bold on the page as input for example
  2752. 5:04:25it says that this field is water so it is just  writing that this tag says that we have a water
  2753. 5:04:31field displayed on the page that is to say it is a  separate element if we are talking about IMG then
  2754. 5:04:39here we need to to add some attribute with a link  to our picture now what is an attribute it is
  2755. 5:04:47used to specify information as I mentioned such  as the location of our picture if we talk about
  2756. 5:04:54attributes going back to our hyperlink  the a tag that is for instance the hrf
  2757. 5:04:59attribute and if we write here the name of  some site for example yandex.ru here will
  2758. 5:05:14be the name of the site itself for example  Yandex and closing our tag then we have then
  2759. 5:05:20on the page that we lay out it will display  this Yandex in the form of a hyperlink that
  2760. 5:05:27is it will be in blue font underlined and  when you click on this hyperlink which we
  2761. 5:05:32have as me. Ru we will go to this side  so this HF will serve as an attribute
  2762. 5:05:42the attribute clarifies tag info  there's also an attribute like CRS
  2763. 5:05:48which links to our pictures location  either on our server or the Internet
  2764. 5:05:53it's similar to HF we write image  SRC equals picture location [Music]
  2765. 5:06:12[Music]
  2766. 5:06:16for example dis C folder image and file name for  example one PNG and then on our side is put the
  2767. 5:06:27image which is located at this location and it  is also important to know about what structure in
  2768. 5:06:34general has an HTML document what Texs we use the  m in order to write this structure usually the the
  2769. 5:06:43very first tag is the document type definition  and then we have the main Tech of HTML which
  2770. 5:06:50must necessarily contain a closing element and  between them there are two tags head and body head
  2771. 5:06:58this [Music] is some service information that our  user does not see that is this is the information
  2772. 5:07:07that is used for the browser and search engines  next you and I are going to open up Dev tools
  2773. 5:07:13on some of the sites and see how to look at this  at all and also body this is where our document
  2774. 5:07:20content is already placed what our user sees so  this is what we have displayed on the site itself
  2775. 5:07:29and already inside these two main tags closing  elements there are other tags which characterize
  2776. 5:07:37either service information or information for the  user if we talk for user information then here we
  2777. 5:07:45can call the same tags a which leads to some  sites contain Cipher links in itself B if we
  2778. 5:07:54want to write our text in bold input this is a  location of some elements in this case elements
  2779. 5:08:00to enter information and some pictures for example  with links to these pictures on our local machine
  2780. 5:08:07or on the Internet that is all these tags are  further used and it is necessary to remember
  2781. 5:08:14that there are closing elements in them some tags  do not require these closing elements that is all
  2782. 5:08:22of this can be additionally learned in various  sources for example on the same YouTube I will
  2783. 5:08:28definitely leave a link for you in the description  too those resources those channels that I myself
  2784. 5:08:35used when I was studying HTML and CS ESS there  is quite detailed about how you can make your
  2785. 5:08:43first page what you need to do for this some basic  tags are described that is if you are interested
  2786. 5:08:51in this topic and you want to try to make your  own simple site you can easily use this link
  2787. 5:08:58and learn to understand in general what an HTML  document is what it consists of and how to live
  2788. 5:09:03with it in principle the information I'm going to  tell you now is enough for beginner testers that
  2789. 5:09:09is you need to dig somewhere deep most of the time  even you will not resort to studying the structure
  2790. 5:09:16of HTML document when changing Stacks that is  of course it all depends on the specifics of
  2791. 5:09:22your companies work but in general I will tell you  that it is the HTML document HTML markup is very
  2792. 5:09:34rarely used for front end testing purposes  basic basically you will have some mockups
  2793. 5:09:41by which you will look at the sizes of certain  elements that is to inspect with the help of are
  2794. 5:09:50def tools these elements to look at their sizes  to look at the fonts that are used there to look
  2795. 5:09:56at some distances from one element to another  that is it is all described in all tools for
  2796. 5:10:04the development and uh design and mockups that  is you should not not have any problems with it
  2797. 5:10:11and if you have any questions about HTML please  feel free to write in the comments and I will do
  2798. 5:10:16my best to answer them if you still cannot find  this information on the internet remember that
  2799. 5:10:22for a tester is extremely important to be able to  Google what you don't understand therefore if you
  2800. 5:10:28have any questions you should not immediately  run to a knowledgeable person instead first
  2801. 5:10:34Google it read thoroughly and try to understand  everything yourself and if you don't understand
  2802. 5:10:39it only then you need to contact your Mentor for  example at work or to me if you're watching this
  2803. 5:10:47video here and you're just learning and as I said  let's use the example of our favorite and famous
  2804. 5:10:54onliner site which we have already used in our  previous lessons to see how it looks like in a
  2805. 5:10:59browser in Dev tools so as I said there is dog  typed. HTML that is written in HTML language
  2806. 5:11:12there are HTML TXS that both open and close and  there are also head and body TXS additionally
  2807. 5:11:18Within These head and body tags you can  open them up and examine the other tags
  2808. 5:11:23present there as I mentioned earlier at  the beginning we have in the head section
  2809. 5:11:28information that is not for users but rather  for our browser and it includes various tags
  2810. 5:11:34this section contains encoding information  as well as information about the script
  2811. 5:11:39that are being utilized on the page furthermore  there are the various links that we have on the
  2812. 5:11:47page which we do not need as end users and it is  more for the operation of the site itself we have
  2813. 5:11:55all this stuff laid out here and if we are talking  about a baaa this already contains information
  2814. 5:12:02about what we have on the page as you can see we  have mostly everything in scripts here because
  2815. 5:12:09online it is written in JavaScript and that  JavaScript already draws all the elements on
  2816. 5:12:14this page so you cannot see some tags that we  talked about earlier because they are not used
  2817. 5:12:21here here that is at leure we study watch videos  learn to recognize these tags remember remember
  2818. 5:12:39their basic properties and if you are asked for  an interview do not get lost tell everything we
  2819. 5:12:48know about HTML and I'd like to tell you  a little bit more about CSS CSS stands for
  2820. 5:12:55cascading stylesheets let's type it out  right away so that you can keep in your
  2821. 5:13:00head what it sounds like that is a formal  language for describing the appearance of
  2822. 5:13:07a document that is written in HTML in simple  words is how the elements on our page should
  2823. 5:13:13look like in general CSS can be set in three  different places that is we can specify our
  2824. 5:13:22test listic features of certain elements and  set them in three different places first can
  2825. 5:13:29be set inside the HTML itself inside the style  tag I mean it all looks pretty straightforward
  2826. 5:13:37this will be again our known tag structure that  is inside this tag will be written for example
  2827. 5:13:42the size of the font its color the location of  this element on the page that is all this can
  2828. 5:13:48be specified inside our HTML code using style  tags the second way is inside the attribute
  2829. 5:13:58that is for example we already have familiar  tag image IMG and with the help of tag style
  2830. 5:14:04or rather not a tag but an an attribute sorry we  can also specify information for example about the
  2831. 5:14:10background here we use not our style tag  but the uh attribute inside some tag for
  2832. 5:14:23example image and the Third Way is when we set  some style features inside a separate document
  2833. 5:14:29for example style CSS then is an extension of  this document CSS and we inside our HTML make
  2834. 5:14:38a link to this this document with the help of  tag link that is link relationship at we will
  2835. 5:14:45have stylesheet and HF is a link to where we have  our file style. CSS that is these three ways we
  2836. 5:14:55can also utilize where can we find information  about what we have encrypted in CSS once again
  2837. 5:15:03we have the elements tab in Chrome Dev tools  and this is where the style section is located
  2838. 5:15:09this is where all the relevant information is  contained as well for instance if we inspect an
  2839. 5:15:14element that we have on the page here we can see  details about the width about the height about
  2840. 5:15:22its position what background images we're using  and the dimensions of those background images
  2841. 5:15:31images fonts that is all of this here you can  look at the position is also drawn here that is
  2842. 5:15:39if we have on the mockup for example it is written  that the borders should be 3 in six pixels then we
  2843. 5:15:47can see it all here compare whether it is really  so so this is basically what CSS is used for the
  2844. 5:15:55Styles tab the computed tab that is we have all  this information written here too we can open it
  2845. 5:16:01look at somehow more detailed in general what we  have written here you can see all of this here
  2846. 5:16:07what else is it useful to know for example HTML  for in order to use information about locators
  2847. 5:16:15that is about the location of our elements on the  page in the future when automating we can look at
  2848. 5:16:23that here too unfortunately I am not involved  in automation so I will not be able to give
  2849. 5:16:28you a more detailed Tour on this topic but I know  for sure that if you are going to do this in the
  2850. 5:16:35future to develop in automation this knowledge  of HTML will help you in the future further for
  2851. 5:16:43example you will know this locator and already  in the code in your script which must be run to
  2852. 5:16:49perform a particular test you will prescribe  a specific locator on the basis of which when
  2853. 5:16:56performing the test will be exactly clear where  you need to click for example in order to log into
  2854. 5:17:02the system on what button this is what locators  are used for to put it simply and returning to the
  2855. 5:17:08beginning of our lesson as I said we did not  set ourselves the goal of learning how to lay
  2856. 5:17:14out a page and bind to it CSS file also using  some attributes and tags inside it but just
  2857. 5:17:21learned in general what HTML consists of tags  attributes the structure of the HTML document
  2858. 5:17:26itself and where the information about styles  of various elements from CSS is pulled from
  2859. 5:17:33how we can bind it to our HTML document or  create a separate document with extension
  2860. 5:17:39style.css bind it to the HTML document or create  a separate document with the extension style.css
  2861. 5:17:45it with an HTML document and later utilize it to  describe the styling features of our page for a
  2862. 5:17:53beginner tester these fundamental concepts will  be sufficient if it's your work you are going
  2863. 5:18:01to be engaged in testing web applications in the  future and a lot of attention will be paid to HTML
  2864. 5:18:08CSS I believe you will be informed about  it and will be guided on where to find
  2865. 5:18:13more information perhaps Mentor will share  his knowledge make knowledge transfer for
  2866. 5:18:20you so do not be afraid study read watch type  all information and that's it for me I'm glad
  2867. 5:18:31there are more of us every week that is  every time I record a new video and post
  2868. 5:18:38it on YouTube I look at the number of  my subscribers and I am truly happy
  2869. 5:18:43that this topic is interesting to so  many people and I always enjoy your
  2870. 5:18:47feedback so make sure to put your likes and  uh if you are here for the first time please
  2871. 5:18:55subscribe to this channel also write in the  comments whether this video was useful for
  2872. 5:19:00you and what else you would like to learn  about web application testing there are not
  2873. 5:19:06so many tutorials on this topic left so your  feedback is really valuable perhaps you have
  2874. 5:19:12some unique requests these requests might find  their way onto my channel as well Welcome to our
  2875. 5:19:20shalash [Music] bye hi YouTube I'm really glad  to see you all in another session on testing web
  2876. 5:19:33applications this session is incredibly important  to us so make sure you join in because today we're
  2877. 5:19:40going to dive deep into learning how you  can actually test various web forms this
  2878. 5:19:45is essentially what beginner functional testers  do for the most part make sure to stay until the
  2879. 5:19:52very end of this video because there's some really  interesting information waiting for you there that
  2880. 5:19:58will definitely help you get more excited about  this before we talk about the forms themselves
  2881. 5:20:04of which there are a huge number now you can  see on the screen that there are not 10 pieces
  2882. 5:20:09but about 20 if not more and each of these forms  has its own peculiarities in testing somewhere
  2883. 5:20:16they overlap but to understand for example how to  uh test text fields or some text areas you must
  2884. 5:20:26first understand the issue of validation on pages  there are two types of validation on web forms on
  2885. 5:20:34web pages these are known as client sit validation  and server side validation so what does that mean
  2886. 5:20:44when we talk about client side validation this  type of validation happens before the moment we
  2887. 5:20:50send a request to the server so for example we  have a text field where we can enter a first and
  2888. 5:20:59last name this field has a limit on the number  of characters we can enter for instance we can
  2889. 5:21:05enter up to 15 characters into this field if we  enter for example 16 characters the system frowns
  2890. 5:21:14and gives a validation message a popup window  shows us that the maximum number of characters
  2891. 5:21:22you can enter in this field is 15 this is client  side validation meaning even before our request
  2892. 5:21:30reaches the server the client processes it and  tells us there's an error this is written in the
  2893. 5:21:36code itself When developing the front end and this  validation is not considered the best so there are
  2894. 5:21:45always server side validation because on the  client side we can change our layout as we have
  2895. 5:21:54already seen on the HTML example we can enter some  data we can change the same validation messages
  2896. 5:22:00that are displayed on the front end and adjust  the number of characters so the server always
  2897. 5:22:08has its own validation that also checks that for  example in field name we have entered no more than
  2898. 5:22:1815 characters and indeed such information can  be processed by the server if we have entered
  2899. 5:22:2516 characters in this field this request gets to  the server and the server returns its own error
  2900. 5:22:31for example a status code indicating that we have  entered more characters than allowed and thus this
  2901. 5:22:38request cannot be processed by the server that's  why there should always be validation on the
  2902. 5:22:44client side as well as validation on the server  side and we should always ensure that the client
  2903. 5:22:50handles this validation if it is specified in our  requirements and also verify that the server does
  2904. 5:22:57to that is it cannot be that on the client for  example we show a revolutionary error message
  2905. 5:23:05that we have a greater number of characters than  planned that is instead of 156 but the server
  2906. 5:23:14safely eats this information processes it and does  not realize that it is an error that is it will
  2907. 5:23:20already be a critical bug because such errors on  the server can be for example related to security
  2908. 5:23:29now we have field is not particularly secular  that is it is first name and surname but it can be
  2909. 5:23:38for example a password or information about your  card and if for example such information gets to
  2910. 5:23:47the server incorrect information and it processes  it correctly as if this information really meets
  2911. 5:23:54all our requirements and validations then various  risks can arise now let's go directly to the forms
  2912. 5:24:02themselves which we can apply on the site When  developing the design when we wrote Our code
  2913. 5:24:09and how can we validate these forms what are  the mandatory checks that we have to do the
  2914. 5:24:13first field which I've already talked a little  bit about is just our text field where we enter
  2915. 5:24:18some text what should we be checking here as  you can see these two fields are mandatory so
  2916. 5:24:24it is logical to assume that one of the checks  will be related to the fact that we leave some
  2917. 5:24:30of the fields empty or we leave two Fields empty  and for example we try to register in the system
  2918. 5:24:36the system should show us some error information  that these fields are mandatory and must be filled
  2919. 5:24:42in that is we check each of these fields and the  two Fields together also we are likely to have a
  2920. 5:24:49character limit here as I said earlier in the  examples client and server validation and here
  2921. 5:24:58we have to enter so the number of characters that  will exceed that allowable limit either be equal
  2922. 5:25:05to that limit and necessarily a value that will  be be one less than the allowable limit if you
  2923. 5:25:16forgotten why these are the values we should  be testing make sure you go to my lesson on
  2924. 5:25:20test design techniques where I talked about what  test design techniques we can apply and so one
  2925. 5:25:26of them namely boundary value testing is what  we apply here the same goes for the number of
  2926. 5:25:32minimum characters that we can enter in this field  again we test the value from the minimum minus one
  2927. 5:25:41the value on the boundary itself and the value of  the minimum value plus one if for example it says
  2928. 5:25:50here that we can only enter Latin characters  then we should check other characters as well
  2929. 5:25:55such as ceric how will the system react to this  input will it show some validation message that
  2930. 5:26:00only Latin characters can be entered in this field  the same applies to various numbers some special
  2931. 5:26:08characters we can also enter just spaces because  spaces themselves are counted as one single
  2932. 5:26:16character that is when we say we can only enter  15 characters into this field we're not flushing
  2933. 5:26:23the spaces themselves they will count as full  characters you should also verify when entering
  2934. 5:26:29one space at the beginning one space at the end  how the system will react also try entering spaces
  2935. 5:26:37in the middle of our input additionally speaking  of security we must definitely check the input of
  2936. 5:26:44various tags as I mentioned in our last lesson  tags are very easy to distinguish from plain
  2937. 5:26:50text that is it will necessarily be parentheses  in the form of a greater than and less than sign
  2938. 5:27:02that is an opening and closing tag why is it  important to check tags attacks are used not
  2939. 5:27:09only in layout but also in various scripting  languages for example in JS and an attacker can
  2940. 5:27:15take advantage of this and enter some WordPress  script that for example will get your information
  2941. 5:27:21when enters it directly into this field so we make  sure to check this fact we also check the Tex for
  2942. 5:27:30example bold as we remember it's a bold font and  again not whether or not our system is trigger
  2943. 5:27:38that is whether or not it will tempt this tag  and for example whether or not it will be able
  2944. 5:27:43to display the values that we've entered  in bold again this would indicate that
  2945. 5:27:49the system understands these tagon doesn't  treat them as just text so these are again
  2946. 5:27:56potential problems that we have related to  security to securitization and also in these
  2947. 5:28:03fields must be checked necessarily here is our  dat data from the clipboard that is just ctlc
  2948. 5:28:11ctlv whether our system can process it and  whether we can insert this text here so you
  2949. 5:28:20have to look at that too in principle the  same rules apply to some text areas that
  2950. 5:28:25is for example a text field is limited to  the number of characters 15 a text area is
  2951. 5:28:30a certain large area where we can enter a large  text usually these areas can also be stretched
  2952. 5:28:38which means in that case there will be this  kind of triangle in the corner here we can also
  2953. 5:28:43check whether this area can be stretched how  much it stretches how the text adapts to the
  2954. 5:28:48size of this field that is we can check all this  here as well uh so the checks here are the same
  2955. 5:28:56the next point is our prefixes in links usually  these are the names of HTTP FTP https protocols
  2956. 5:29:08what are we checking here we check the fact that  when we leave this field empty that is we do not
  2957. 5:29:13enter any prefix or we enter it and um various  types of protocols so for example we know that
  2958. 5:29:24our site runs on https so we enter https here if  we enter here for example FTP and they link to our
  2959. 5:29:32site and enter this site then in theory the system  should show us some kind of validation message and
  2960. 5:29:39not find this site because another protocol is  already applied here I mean you can see all of
  2961. 5:29:45that here too directly uh we can check the Inc  itself that is here we also have we enter with
  2962. 5:29:53our ww without it we enter the maximum number of  characters that can be entered in this field if
  2963. 5:30:00it is limited again we remember our border checks  minus one plus one and On the Border itself enter
  2964. 5:30:07some Russian characters for example if our system  can eat them and process them then okay if not
  2965. 5:30:14again there should be some kind of error or the  resource that we're loading should show some kind
  2966. 5:30:21of message or a status quoe that this page was  not found please check what you entered in this
  2967. 5:30:26field that is everything will depend on how much  you have client validation client site validation
  2968. 5:30:34whether there are any validation messages usually  all all of this is specified in the requirements
  2969. 5:30:40that is you open the requirements and judging by  them decide what you have should appear is it a
  2970. 5:30:47bug if for example you don't have any validation  message and again don't forget that you can
  2971. 5:30:53always make some improvements for example if you  don't have the fact that when you enter Russian
  2972. 5:31:01characters the system for example doesn't swear  doesn't give a validation message but it's good
  2973. 5:31:06practice best practice ice to have that validation  message appear and warn you that you're entering
  2974. 5:31:12Russian characters in that field then you can come  up with such an improvement put it in the system
  2975. 5:31:18and maybe in the future it will be reviewed and  the same business analysts will write requirements
  2976. 5:31:24that that yes indeed this validation message  should appear that is we as quality assurance
  2977. 5:31:33Engineers even if you are not one but just a  tester we always keep in mind that we are working
  2978. 5:31:38on improving our quality and it's not only that we  find some bugs but in general improve the quality
  2979. 5:31:48of our finished product bring some Concepts that  can significantly impact enhancing the usability
  2980. 5:31:55of the product itself enabling our users to learn  more learn better and fully grasp how to work with
  2981. 5:32:02this system we can explore various other resources  where similar mechanisms are implemented the same
  2982. 5:32:08features and analyze how it is done there and how  we can further improve our product because this
  2983. 5:32:16can provide us with both improved usability for  our users and increased Revenue as we will stand
  2984. 5:32:23out much better among other such similar products  we make sure to pay attention to that also I think
  2985. 5:32:31you are all familiar with such a phenomenon as  checkboxes such elements on pages so they can
  2986. 5:32:38look like this that is we just have such squares  in which we check check and select the options we
  2987. 5:32:45need also these checkbox lists can look like  this that is there are some lists that can
  2988. 5:32:52be expanded and inside they can also choose the  options we need or if we have again these lists
  2989. 5:33:01then typically has some sort of main element that  includes sub elements and we can put a check box
  2990. 5:33:07on that main element how we check data web  element view be sure to look at how the system
  2991. 5:33:16behaves when we don't select anything and again  if we have for example like here the effects are
  2992. 5:33:24perhaps mandatory to select after for example  submitting our form we should see if the system
  2993. 5:33:30is swearing that you don't have anything selected  in this area let's see how the system behaves when
  2994. 5:33:38we select one checkbox when we select several  checkboxes when we select all of them again
  2995. 5:33:45it's good practice that we have for example when  we have a a very large number of different options
  2996. 5:33:51there should be a checkbox like check all so that  we select all at once rather than sequentially
  2997. 5:33:57checking each of these available options so again  if that's not there you can put that in the system
  2998. 5:34:06as an improvement so that you can consider it in  the future and put it into your project yes it
  2999. 5:34:15is worth noting the fact that it is also a good  practice to make not only the area inside that
  3000. 5:34:21box clickable but also the area around it that is  when we click somewhere near it also a checkbox
  3001. 5:34:30should be placed so we check that as well the next  element is a radio button or in the it environment
  3002. 5:34:37can be called a radio button in our let's say  slang so do not be frightened if you hear such
  3003. 5:34:44a name the unique aspect of this element is that  we can only select a single parameter unlike
  3004. 5:34:51checkboxes where we can choose multiple options  here we are limited to one typically by default
  3005. 5:34:58some element is already selected which can be  modified later it is also important to note that
  3006. 5:35:05in radio buttons there isn't an option for no ele  element to be selected in other words one element
  3007. 5:35:11must always be chosen let's verify the fact  that we cannot select multiple elements in radio
  3008. 5:35:18buttons we check the facts that uh when we click  next to with this element we also have a check of
  3009. 5:35:28the option that we select the next element is  multiple selector that is that is as the name
  3010. 5:35:37makes clear we can select multiple options from  a large number of them here we check the fact
  3011. 5:35:43that we can select the parameter itself one we  can select several parameters we do not select
  3012. 5:35:52anything as the system behaves for example if you  have a drag and drop feature that is when we take
  3013. 5:35:58some element and drag it for example to list of  selected elements that is that it should work well
  3014. 5:36:07this applies to other elements on the page as  well so that's something we can test as well
  3015. 5:36:12also usually in multiple selectors we have  the ability to both add an element with plus
  3016. 5:36:18and remove it that is we check if we can do that  we add an item by clicking on the plus sign and
  3017. 5:36:25delete it by clicking on the minus sign if we have  any sorting we also check the fact that we have
  3018. 5:36:30everything sorted correctly this also applies  to other elements on the pages that is we also
  3019. 5:36:35pay attention to the fact that if we have sorting  there is some filtering that is all this we must
  3020. 5:36:40necessarily check if if it is possible to delete  all elements delete them if it is possible to add
  3021. 5:36:49all elements then add them again if you have the  ability to do some kind of search we type in the
  3022. 5:36:56search box and see if the search actually works  you can do all of that here again it also depends
  3023. 5:37:06on what is specified in the requirement now I  am telling you about some variant that I know
  3024. 5:37:12of again in your system it may be implemented  quite differently so paying attention first
  3025. 5:37:19of all to the uh rivers that you have on your  project the next element I'd like to talk about
  3026. 5:37:25is the uh element that allows us to upload any  files it usually looks like this I think it is
  3027. 5:37:33also familiar to all of you what can we check here  first of all don't select any file to upload see
  3028. 5:37:39how the system behaves again if this is some  kind of mandatory attribute and at submit for
  3029. 5:37:46example of this form they do not show validation  of some kind the message then again it could be a
  3030. 5:37:52bug we also check the download of the file itself  that is here we have it written that the maximum
  3031. 5:38:00size of the uploaded file is 10 mbes that is it  gives us a hint that this file cannot be larger
  3032. 5:38:08than 10 megabytes let's check it again at the very  boundary 10 megabytes we check because we have two
  3033. 5:38:14digits after comma 10 1 and 9 99 megabytes that is  we check all of this there are special resources
  3034. 5:38:26that can generate the files we need if we have  requirements to format that is we can for example
  3035. 5:38:35upload doc files XLS and pictures then we check  all the invalid file formats that we can think
  3036. 5:38:42of we check the valid file formats as you and I  remember the first checks that we always do they
  3037. 5:38:48are positive positive checks are those that meet  our initial requirements again if you've forgotten
  3038. 5:38:57what positive tests negative tests are I have a  separate video dedicated to this point related
  3039. 5:39:02to test classification now the link will appear  at the top go through remember be sure to leave
  3040. 5:39:10your comments if something is unclear to you if  it is possible to enter for example information
  3041. 5:39:17about the path to a given file that is we also  entered here look really whether it handles bugs
  3042. 5:39:26that is we find them and there are various other  interesting things here I mean we can go through
  3043. 5:39:31these challenges as well if you know something  it is for yourself for your development for your
  3044. 5:39:37practice is you can click through all of this  here look through it and the most interesting
  3045. 5:39:41thing is that there is a Hall of Fame here this is  information about those people who have scored the
  3046. 5:39:47maximum number of points for this or those other  challenges it's also a cool competitive effect
  3047. 5:39:52that comes into play game uh also leave a link  in the description to that as well that is go to
  3048. 5:40:00it study it I hope that these links will be useful  to you they will all be in the description of this
  3049. 5:40:05video I would also like to note that there are  a huge number of checklists on the web dedicated
  3050. 5:40:11specifically to testing web forums you can find  them download them save them for yourself and
  3051. 5:40:16use them for your practice for the future I will  tell you uh there are such checklists for testing
  3052. 5:40:21mobile applications and for testing accessible  applications and for some other testing for
  3053. 5:40:30security testing for performance testing they are  made to simplify your work and to make sure that
  3054. 5:40:36you don't forget anything again these checklists  are not the only source of truth that is you study
  3055. 5:40:44them memorize them save them and can make some  changes in these checklists and use them in the
  3056. 5:40:49future for your practice for your work so that  you don't forget these or those checks that you
  3057. 5:40:55should do for web form I hope that this video was  useful to you you learn something new for yourself
  3058. 5:41:00you will learn how to test these web forms in the  future and you will not be confused at interviews
  3059. 5:41:05when you for example will be offered to test the  form with a password and its confirmation how it
  3060. 5:41:12should be done what checks you will perform  uh as this is often really asked at uh real
  3061. 5:41:19job interviews in real interviews as always I  ask you to support this video with your likes
  3062. 5:41:27write your comments so as comments promote this  video in Search and more people will learn about
  3063. 5:41:33my channel learn and in the future can apply  for position of a tester of some IT company
  3064. 5:41:40develop and take their place in the it sphere and  that's it for me as usual Welcome to our Shellos
  3065. 5:41:49[Music] bye hi you tube it's been a while which  means it's time for another lesson on testing
  3066. 5:42:11web Centric applications there have been a lot of  requests related to the fact that people want to
  3067. 5:42:17know tell us ROM please about how to test apis how  to test web services about rest about soap so we
  3068. 5:42:27are starting this topic today and I decided that  it will be more efficient to divide it into two
  3069. 5:42:35parts today I'm going to give you a theoretical  background I'm going to talk about what the
  3070. 5:42:41protocols are what the architectural styles are  with a which in app service communicate with each
  3071. 5:42:48other in general today we will discuss this topic  and in the next lesson we will begin practicing
  3072. 5:42:55testing apis and sending requests I will explain  tools such as soapui and Postman additionally I
  3073. 5:43:03will show you Services where you can practice  including some test apis and documentation so
  3074. 5:43:11make sure to stay tuned to this channel I think  this information will be useful to you because API
  3075. 5:43:20testing is quite in demand for testers nowadays  and even a novice tester a genie needs to know
  3076. 5:43:27the basic aspects and the basis of how to test web  services I have already said such a phrase or word
  3077. 5:43:35as web services a few times so let's talk to you  about what it is web services or web services is
  3078. 5:43:44a program that organizes the interaction between  websites that is information from one portal is
  3079. 5:43:52transferred to another this is in simple terms  if you wrap it up a bit more cleverly it is such
  3080. 5:43:58a web oriented technology which allows programs to  communicate with each other using standard formats
  3081. 5:44:05such as XML and Json on and through special  protocols now here I will immediately correct
  3082. 5:44:10myself protocols like sub and the uh architectural  style rest how they differ I will explain a
  3083. 5:44:19little further so for example you have a certain  Airline which has a large number of flights and
  3084. 5:44:27consequently a lot of tickets the information  through a web service is sent to a travel
  3085. 5:44:33aggregator site which is from our Airline with the  API we can connect and build in some functionality
  3086. 5:44:41that will directly with this action when a  user goes to this aggregator they will be able
  3087. 5:44:47to directly purchase some airline tickets on the  same side without needing to go to the company's
  3088. 5:44:53site or another example of web services  is a weather tracking site which contains
  3089. 5:45:05some information about weather condition in a  particular city or country this information is
  3090. 5:45:10also used by third party applications or some  other sites so we just embed this form where
  3091. 5:45:17we have the weather information it can also  be projected for example on currency rates
  3092. 5:45:23that is you have often seen that websites have  embedded some kind of forms where you can make
  3093. 5:45:31online conversions from one currency to another  or for example authorization with the help of some
  3094. 5:45:38social networks like Google vont or Facebook that  is when you for example navigate to some site and
  3095. 5:45:46it says that you can register using your accounts  in other social networks it also functions through
  3096. 5:45:53an API I talked about the different interfaces  including apis uh a little bit earlier in the very
  3097. 5:46:01first lessons on the types and categorization of  testing that is I told you what interfaces exist
  3098. 5:46:08in general now the link to this lesson will appear  at the top so you can go there either to refresh
  3099. 5:46:13your knowledge or to learn something new for  yourself if you are on this channel for the first
  3100. 5:46:18time and you have never heard about different  interfaces and then we're going to go smoothly
  3101. 5:46:23to what I said at the beginning which is the soap  protocol is used or the rest architectural style
  3102. 5:46:30let's start with the soap protocol this is an  acronym the full name is simple object access
  3103. 5:46:38protocol so it literally translates the simple  object access protocol that is this protocol
  3104. 5:46:44exchanges structured messages in a distributed  computing environment it sounds really hard but
  3105. 5:46:51I'll explain it in a moment that is this protocol  is used to exchange arbitrary messages in XML
  3106. 5:46:58format XML doesn't remind you of anything you and  I were talking about HTML at some point in essence
  3107. 5:47:09the form of writing itself is the same  in HTML and XML but this format has its
  3108. 5:47:15own peculiarities which we will talk about a  little later in this lesson also sap can be
  3109. 5:47:20used with any application layer protocol if  you and I recall a model like OSI there was
  3110. 5:47:27an application layer again now the link to the  video on this model will appear at the top and
  3111. 5:47:34such Protocols are SMTP FTP HTTP HTTP as that  is that is sa can use these types of protocols
  3112. 5:47:43however the interaction of this protocol with  other protocols has some peculiarities that
  3113. 5:47:50we will not talk about in our course and this  lesson so if you are interested you can Google
  3114. 5:47:56this information it is publicly available  these are shall we say the materials with
  3115. 5:48:04an asterisk first of all you just need to know  that there is a soap protocol and it is used in
  3116. 5:48:10web services and let's move right on to the  next aspect that we need to look at within
  3117. 5:48:15soap this is xcd and WSL what are these as I  said in soap XML files are used to convey any
  3118. 5:48:29information and it's xcd it's XML schema  definition it is describes the structure
  3119. 5:48:37of our HTML document and the types of data that  can be stored there so you have this xcd file in
  3120. 5:48:44your web service and with the help of it we can  define various elements data inside our XML I and
  3121. 5:48:52transfer them via internet that's the interesting  thing about CD the next aspect that I wanted to
  3122. 5:49:00look at is vsl that is it is such a file with such  an extension and with such a format it is written
  3123. 5:49:10in vsl which stands for web services description  language and what is this file for it describes
  3124. 5:49:18messages headers and events that are specific  to our web service that is this file describes
  3125. 5:49:25the entire structure of our web service and it  is absolutely mandatory for this app protocol
  3126. 5:49:33that is to say without this particular file we  simply cannot not utilize the sa protocol at
  3127. 5:49:38all in further testing this file makes the work  significantly easier this is because unlike the
  3128. 5:49:45rest architectural style where there is no such  document that clearly structures the work of our
  3129. 5:49:51web service testing can be somewhat challenging so  when you have a vsl it is indeed a very beneficial
  3130. 5:49:59thing each vsl document can be divided into the  following logical Parts there is a small sample
  3131. 5:50:07here what do we even have in stdl first of all  has data elements it's message that is it's the
  3132. 5:50:16message that our web service uses also there's  information about data types its type as you can
  3133. 5:50:26see and this information defines the types of XML  messages that are sent and received by the service
  3134. 5:50:34as you can see here we have strings so these are  just plain strings there is also a block like
  3135. 5:50:41Port type this is a list of operations that can be  performed on our messages that is as you can see
  3136. 5:50:52in principle I think it will not be difficult to  translate from English that is there are different
  3137. 5:50:58types of operations here get term get term request  get term response responses requests that is all
  3138. 5:51:05of this here can be encrypted it and spelled out  how we will interact with the service in general
  3139. 5:51:12with our messages here what you need to remember  is that always if we have soap we always have vssl
  3140. 5:51:20because sometimes in a job interview you might be  asked for example what is the difference between
  3141. 5:51:25soap and the same rest architectural style one  of the key differences is the presence of vssl
  3142. 5:51:31and the fact that as I said messages are exchanged  using XML and the information about how that XML
  3143. 5:51:39should structure the information is contained in  the xsd then is XML schema definition and make
  3144. 5:51:46sure you memorize the rules that are used when  writing these XML I XML documents again these are
  3145. 5:51:55very often asked in interviews so let's break them  down in more detail as I said if we're talking
  3146. 5:52:00about XML it's a language that's very similar to  HTML but unlike HTML it has has as you can see
  3147. 5:52:07a different decoding which means it's an extended  markup language and if HTML is used for marking up
  3148. 5:52:14the page for layout then XML already stores some  of the XML is a structure of information and with
  3149. 5:52:22the help of it this information can be transferred  in the communication of our web services the
  3150. 5:52:27structural unit of XML is elements here is a  scheme of such elements what are they made of
  3151. 5:52:35again let's think back to our HTML we covered the  basic aspects of it in our last lesson as you can
  3152. 5:52:43see in an element we have an opening tag a closing  tag content that is stored between these two tags
  3153. 5:52:50and attributes so everything is quite similar  to HTML however what do you need to know when
  3154. 5:52:57writing or testing XML and what should you pay  attention to first of all XML has only one root
  3155. 5:53:05element I mean look here we have a root element  called person that's the correct way to spell it
  3156. 5:53:12so here's the opening tag and here's the closing  tag and we don't have any other root elements then
  3157. 5:53:20we have an incorrect format which happens when we  have the root element person as you can see and it
  3158. 5:53:27is duplicated again for some reason so it really  should not be like that we should simply have
  3159. 5:53:36an opening and closing tag for this root element  the next important aspect is that all elements
  3160. 5:53:43should definitely have closing tags as you can see  here we have two tags person and family they both
  3161. 5:53:51have opening and closing tags however there is  one element that does not have a closing tag as we
  3162. 5:53:58remember the closing tag consists of curly braces  and we have a slash before the tag itself so it's
  3163. 5:54:05so wrong we shouldn't leave just one opening tag  the next aspect is that the names of our tags are
  3164. 5:54:15case sensitive what does that mean in case you  don't know what case sensitive means it refers
  3165. 5:54:22to the fact that our tags are either uppercase  or lowercase sensitive so we should always use
  3166. 5:54:30the same characters at the beginning of our tag so  as we can see here we have it right here we don't
  3167. 5:54:38because in one case we have a tag that starts with  capitalized otherwise lowercase so it's wrong the
  3168. 5:54:46next point is that the elements must not overlap  what does that mean let's pay attention to the
  3169. 5:54:52second element which contains an opening and  closing tag and inside this element contains
  3170. 5:54:58another element also with an opening and closing  tag so everything is correct here we have opened
  3171. 5:55:06a tag we wrote some information into it closed it  and inside it since there is another element we
  3172. 5:55:13also opened tag and closed it there is no overlap  if you and I pay attention to the wrong writing
  3173. 5:55:21here we open the tag then we wrote a new tag for  some reason close this tag and uh the next moment
  3174. 5:55:29we close the tag that is contained inside so it's  not right that way I hope I explained it properly
  3175. 5:55:37if anything pause just look at the way our  elements are written here the way the tags
  3176. 5:55:43are written I think you'll understand when you  do a little resurvey literally just Linger on
  3177. 5:55:48this rule for one minute the next aspect is  that all attribute values must be in quotes as
  3178. 5:55:55you can see here we have a name attribute with  a value of John but for some reason that value
  3179. 5:55:59is not enclosed in quotes So that is incorrect  here's the second correct option where we have
  3180. 5:56:07attribute its value that value is in quotes the  next attribute its value is in quotes so that's
  3181. 5:56:13the correct one the next rule is that that the  greater than sign the less than sign the UN icon
  3182. 5:56:20cannot be used in text blocks instead we should  write them in text format like this that is you
  3183. 5:56:27can also pause make a screen and memorize for  yourself how it should be recorded I don't think
  3184. 5:56:34it's worth explaining because as we understand we  use the greater than lesser icon tags themselves
  3185. 5:56:42and the system may not process them correctly if  we are talking about the imperson icon then as
  3186. 5:56:48you can see it is already used for text recording  of all these elements and quote marks are used to
  3187. 5:56:57to separate attribute values that is also they  may not be handled correctly by our system one
  3188. 5:57:03last point is that an XML declaration is always  the first line what is an XML declaration it is
  3189. 5:57:10a separate line that contains information about  the version number of our XML an indication of
  3190. 5:57:19the encoding of our characters and Standalone  parameter that indicates whether references to
  3191. 5:57:26external documents are forbidden that is remember  that we have XML declarations in the first line
  3192. 5:57:34these are the basic rules that apply to XML you  need to memorize them because in a job interview
  3193. 5:57:41for example you might be given an XML with errors  and ass to find them so you need to be prepared
  3194. 5:57:48for that and the next aspect to consider when  testing web services is rest rest as I said is
  3195. 5:57:55an architectural style just so you understand  the difference between an architectural style
  3196. 5:58:02and a protocol an architectural style does not  apply any rigid rules it does not require any
  3197. 5:58:10vsl although there is a document format called  Fadel but it is not necessarily required that is
  3198. 5:58:16if it is not present then everything is still  fine and that is why rest is being used more
  3199. 5:58:22and more often now because this architectural  style allows us to write information in a more
  3200. 5:58:29convenient format which takes up less space and  increases the performance of our system and it is
  3201. 5:58:38also let's say not rule dependent meaning it has  fewer requirements so it's used more often now if
  3202. 5:58:45we talk about the full name it's representational  state transfer also I want to highlight the term
  3203. 5:58:52restful what's the difference between rest and  restful rest is just an architectural style with
  3204. 5:58:59which we describe the structure of information  transfer in web services generally speaking
  3205. 5:59:15in general there are some rules related to  how this information should be transmitted
  3206. 5:59:19then restful is already a characteristic  of our web services that is these are web
  3207. 5:59:24services that fully meet the requirements of  rest which impose this architectural style that
  3208. 5:59:31is rest essentially describes the structure  of our web service and restful is the web
  3209. 5:59:37service itself which meets the requirements  of rest also don't get confused or scared if
  3210. 5:59:43you are asked in a job interview about the  differences between these two concepts and
  3211. 5:59:49unlike sapi we use Json in rest Json stands for  JavaScript object notation what you need to know
  3212. 5:59:57about Json is that unlike XML it doesn't have  very strict rules it is much more flexible as
  3213. 6:00:05I've already mentioned mentioned Json takes up  less space and is much more convenient to work
  3214. 6:00:10with and let's dive into the basic elements  that we have in this Json to start with Json
  3215. 6:00:22documents are composed of objects now objects  are essentially an unordered collection of
  3216. 6:00:30pairs specifically name and value pairs  here we can see the very first node which
  3217. 6:00:36is associated with Json it is an object an object  is typically enclosed within curly brackets and it
  3218. 6:00:42includes as I mentioned earlier name value pairs  for example name equals name value equals Peter
  3219. 6:00:50name equals name value equals Ivan and these name  value pairs are separated by a comma and the name
  3220. 6:00:57and the value itself are separated by a colon that  is also nothing complicated here just remember
  3221. 6:01:03that there are curly brackets that [Music] our  name and value are enclosed in a code between
  3222. 6:01:10themselves the name and value are separated by  a colon and the name value pairs are separated
  3223. 6:01:15by a comma a name is always a string meaning  the data type for it is a string and the value
  3224. 6:01:23itself as we have here for example Peter can be  either a string in in double quotes or a number
  3225. 6:01:31some logical value that is true or false an array  or the value now we will discuss arrays a little
  3226. 6:01:38further on and the value now that is just here is  essentially a value of now if we're talking about
  3227. 6:01:48a data type like a string it's an ordered set  of zero or more uni code characters enclosed in
  3228. 6:01:55double quotes that is as here is our name which  is essentially the data type string is enclosed
  3229. 6:02:07in double quotes a string is easily distinguished  from any other data type if we're talking about
  3230. 6:02:14prime numbers they don't need to be enclosed in  quotes and just by the example of an index you can
  3231. 6:02:19see the difference if we use a number as a value  we do not write these quotes and then our system
  3232. 6:02:26perceives this data as numeric only you and I use  quotation marks to write our number do not confuse
  3233. 6:02:36number record and data type number when we use  quotation marks then automatically this data type
  3234. 6:02:42turns into a string and is perceived by the system  as text if you and I use some Boolean values then
  3235. 6:02:50we don't need to use them in quotes as numbers  that is true false we do not put in quotes as soon
  3236. 6:02:57as we enclose true or false in quotes then again  it is perceived as string and the last type of
  3237. 6:03:04data we will discuss is arrays so what exactly are  arrays they are essentially a set of our objects
  3238. 6:03:13as you and I remember objects consist of a number  of pairs specifically name and value pairs once
  3239. 6:03:20we have several of these objects that we want to  use we then enclose them within arrays an array is
  3240. 6:03:26always enclosed in square brackets and the values  within that array are separated by commas so as we
  3241. 6:03:33can see here we have an object which consists of  a name and a value and this object is enclosed in
  3242. 6:03:42curly braces and there's another object that also  contains a name and a value also in curly braces
  3243. 6:03:49we separate them from each other with commas and  the whole thing the array itself we put in square
  3244. 6:03:55brackets this is what concerns rest it's much  simpler here in the next lesson I will show you
  3245. 6:04:02the postman tool in which you can take test both  swap requests and rest requests that is we will
  3246. 6:04:12see and feel it all and you will learn how to send  some simple requests there is nothing complicated
  3247. 6:04:20about it another thing that I would like to point  out as I mentioned in this lesson very often in
  3248. 6:04:27interviews people ask what is the difference  between rest and swap web services let's list
  3249. 6:04:35these differences rest supports different formats  so here I've given you Json that's the most common
  3250. 6:04:41but you can also use and XML and text formats  but soap we can only support XML rest only
  3251. 6:04:50works over HTTP or https protocols sap unlike  rest can work with a variety of protocols read
  3252. 6:05:03based sap cannot be cached unlike rest which can  then be cached well these are such basic aspects
  3253. 6:05:11and as I said rest is an architectural style  which doesn't have such a huge number of rules
  3254. 6:05:19that it has to obey making it more flexible  in many scenarios sub is a protocol that is
  3255. 6:05:27highly restricted by the rules that applied  to it again remember at least the XML car and
  3256. 6:05:35all the rules I have listed in Json where there  are no such critical rules so what should be
  3257. 6:05:42chosen on a rest or sub project usually when  one asks this question rest against sa it can
  3258. 6:05:47be rephrased as Simplicity against standard in the  case of rest this Simplicity you will have speed
  3259. 6:05:57extensibility and support for many formats and  also not as tied to those rules that are to sub
  3260. 6:06:06in the case of Saab you will have more Security
  3261. 6:06:08Options and also you will have uh let's say if  we are talking about testing more opportunities
  3262. 6:06:18uh conduct this testing qualitatively  because immediately in sappi you will
  3263. 6:06:23have fsls where samples of your requests  will be prescribed that is you will not
  3264. 6:06:29need to address to the developer once again to  ask him to provide you with information some
  3265. 6:06:35Le requests that is you can immediately take and  use them testing well on top of thatp is much
  3266. 6:06:44more resource intensive it takes up more space  and it's slower and generally if we're talking
  3267. 6:06:51about development development using CP takes  longer that's probably all regarding the theory
  3268. 6:06:57behind web services within the framework of this  lesson of course I cannot and could not tell you
  3269. 6:07:04everything that could be related to the testing  of web services but this knowledge pertains to
  3270. 6:07:12safe rest the format used there the documents  involved which one is faster and which one is
  3271. 6:07:19easier in other words this is all you  will need to successfully interview for
  3272. 6:07:28an entrylevel tester position I will definitely  leave in the description of this video links
  3273. 6:07:35to lectures classes that can help you let's say  to learn about web services with an asterisk if
  3274. 6:07:45you're interested by all means go over there  because it's more structured people have been
  3275. 6:07:50working with these Technologies much longer than  I have so you'll probably learn a lot more from
  3276. 6:07:55them also as I promised in the next session  we will cover with you the Practical aspects
  3277. 6:08:03of testing web services and testing apis so be  sure to subscribe to this channel leave your
  3278. 6:08:10comments and ask questions I'm always interested  in getting some feedback from you I also want to
  3279. 6:08:16remind you that I have my own telegram Channel  where I periodically post useful articles there
  3280. 6:08:23you can learn about aspects related to both  employment in ET and useful resources and links
  3281. 6:08:30that will help you even further get yourself  pumped up for testing any application whether
  3282. 6:08:38it is desktop web or mobile so thank you very  much for watching Welcome to our tent [Music]
  3283. 6:08:54goodbye hello YouTube finally we have your long  awaited video about testing web services from a
  3284. 6:09:09practical point of view that is today in class you  and I will learn about tools like SOI which helps
  3285. 6:09:16us to test swap we will also learn what Postman  is we will learn how to send some simple requests
  3286. 6:09:23um additionally I will also show you different  test beds where you can practice so let's get
  3287. 6:09:29started and dive into the fascinating world of  testing web services together and in general I
  3288. 6:09:36will show you how you should write test cases  how you should create them including positive
  3289. 6:09:42tests negative tests mock tests critical path  tests and extended tests that is I will explain
  3290. 6:09:51all of this in detail so that you won't have any  questions in the future the topic of API testing
  3291. 6:09:59is quite extensive and complex but we will  try to discuss it thoroughly and it will help
  3292. 6:10:05you to pass the interview successfully in the  future I will not tell you about all features
  3293. 6:10:11that are in this software it's a topic for  a separate much larger course but the data
  3294. 6:10:18and knowledge that I'll provide you with will  be sufficient for you to learn these tools on
  3295. 6:10:23your own it will give you a solid foundation  so that you won't have any silly questions
  3296. 6:10:29when you come to a project where you will  encounter API testing so let's get started
  3297. 6:10:35first and foremost I would like to say a few  words about the principles that I will be guided
  3298. 6:10:40by in this lesson there is such a wonderful uh  tester or tester uh Olga kisela by her maiden
  3299. 6:10:59name or Olga nazina in marriage she is a great  teacher she has her own course on API testing
  3300. 6:11:07this is not as an advertisement just so you  know and she has a wonderful Block in which
  3301. 6:11:13she collects very useful things and articles  just for uh beginner testers as well as for
  3302. 6:11:20continuing testers and these are exactly the  resources that she is hosting and we will use
  3303. 6:11:26them that is we will not invent a bicycle for  educational purposes the user system has been
  3304. 6:11:32developed which we are going to feel a little bit  and find out what it is I'll be sure to leave you
  3305. 6:11:37with links to all of the Articles and all of the  resources that we're going to be looking at today
  3306. 6:11:44but let's start with the users backward system in  principle we will need it today in class and here
  3307. 6:11:54is also if you follow this link it will be wsdl  if you and I remember the last lesson this is our
  3308. 6:12:01schema where various methods for so requests  are described and there's also information
  3309. 6:12:07about rest when you and I will be testing rest  with Json but I'll get ahead of myself right
  3310. 6:12:14away you and I will not need this information  we will use the already written documentation
  3311. 6:12:22where examples of requests and responses are  written because in this form it is not quite
  3312. 6:12:27it is convenient to understand in general what is  wanted from us and in a good way on all projects
  3313. 6:12:34you should have sample queries with ROM that  is you contact the developer it gives you some
  3314. 6:12:41example of a query and perhaps answers to this  query and you already test with the help of this
  3315. 6:12:48input data if there is no such thing then of  course your life becomes complicated but in
  3316. 6:12:53any case you should start your work with  communication with the developer if there
  3317. 6:13:00is no documentation on the project if there is  documentation available then we will address it
  3318. 6:13:06directly so you can close this tab as we won't  need it today additionally there are links to
  3319. 6:13:13other resources dedicated to this topic however  we will not touch upon them today and that is
  3320. 6:13:20perhaps all for now as for this article here  is the second article that we will need there
  3321. 6:13:28is also a link to the test jira which Olga and  her team initiated for training purposes but
  3322. 6:13:35they shared it with the entire internet and we  can also make use of it here we will be primarily
  3323. 6:13:43interested in Confluence what is Confluence  in case you haven't heard it is a Wiki system
  3324. 6:13:49where all the project data and documentation are  collected that is usually projects always have
  3325. 6:13:54such Wiki like systems if we are talking about  jira it is Confluence if we are talking about
  3326. 6:14:00Asia devops it is just a Wiki that is they  use the markup language similar to what is
  3327. 6:14:09written on Wikipedia to collect information  about the project requirements specs input
  3328. 6:14:16data there are some credentials everything is  stored there so we can always go to wiki system
  3329. 6:14:27and see where the project stands and usually  within the various requirements that we already
  3330. 6:14:33have in our buck teing system or just project  management systems they ALS give links to the
  3331. 6:14:39wiki where that information is stored so just so  you don't get intimidated you might have these
  3332. 6:14:46systems on your projects where you can always look  at and find out information about your project
  3333. 6:14:53clicking on this link will take you to Confluence  which already contains the documentation for our
  3334. 6:14:59user system so there's information about soap  and rest and the methods that this system uses
  3335. 6:15:05again information on fsdl and rest files with  samples of our requests and the methods themselves
  3336. 6:15:15today we will use such a method as door register  which allows us to register to the system we will
  3337. 6:15:21come back to this a little later let's start by  installing swapi and Postman itself again I will
  3338. 6:15:30leave the links to install these resources at in  the Des description just follow this link for SOI
  3339. 6:15:38there is a free version that you can download  this is SOI open source that is this is where
  3340. 6:15:45the code of this product is stored in Source  form when you click on this link an installer
  3341. 6:15:52will be downloaded you run it nothing complicated  just click next next next next next it installs
  3342. 6:15:58it's software and you can use it I already have it  pre-installed so we don't have to waste our time
  3343. 6:16:07now it's going to load up and I'm going to tell  you a little bit about this system in order for
  3344. 6:16:14us to get started we need to create our project  to do this we click on the file new sub project
  3345. 6:16:22we write the name of our project and here we need  to insert vdl Cod either you have it downloaded
  3346. 6:16:31beforehand or just the URL of this V sdl we have  this URL and we copy and paste it uh we don't
  3347. 6:16:44need to enter anything else here just click  okay all the methods available for our system
  3348. 6:16:52are then loaded as I mentioned earlier we will  work with the door method so we open it click on
  3349. 6:16:58request one and here as we can see we already  have the parameters that we need to fill in
  3350. 6:17:09as I said before we have documentation  let's go back to our Confluence Let's
  3351. 6:17:15uh move it over here a little bit and it  says here that we have these parameters
  3352. 6:17:23email name and password typ string they're  three mandatory and the description of these
  3353. 6:17:28parameters so it's user email or user and  password what is good about wstl CA is that
  3354. 6:17:35we have everything already written here on  the question mark we have to write our values
  3355. 6:17:40valid as you can see we have here three of these  parameters they are mandatory so we have in our
  3356. 6:17:52positive test we put all these data here and  run our request everything went smoothly and
  3357. 6:17:59as you can see we have entered our data here  and also here we have additional parameters
  3358. 6:18:05that were not specified in are the register  methods these parameters are used for other
  3359. 6:18:11purposes for other methods according to  the specification we don't need them now
  3360. 6:18:16so don't be alarmed if you see such  an extensive output when you run your
  3361. 6:18:20query as you can see there is absolutely nothing  complicated about this what is particularly good
  3362. 6:18:33about sap and wsdl is that it is always on the  project there is a specific scheme where you
  3363. 6:18:41simply enter your parameters knowing whether  they are mandatory or optional and through
  3364. 6:18:46various combinations you achieve conducting both  positive and negative tests so for instance here
  3365. 6:18:51we can remove some of these mandatory parameters  and attempt to send such a request as you can
  3366. 6:18:57see we uh we encounter an uh here an incorrect  email we can also enter for example some inval
  3367. 6:19:04valid value here for instance an invalid  email address we can leave all the fields
  3368. 6:19:10empty that require mandatory data additionally  we can duplicate several parameters to observe
  3369. 6:19:17what happens in this scenario that is  we are already incorporating here the
  3370. 6:19:24process of modeling our test cases using the  so-called test design techniques essentially
  3371. 6:19:29as we work with ordinary applications we  apply the same principles when working with
  3372. 6:19:34apis it just depends on your imagination and the  test design techniques you use when you come to a
  3373. 6:19:51project where swap is used there will be basically  no complications that is you will be given an sdl
  3374. 6:19:57you will go to swapi create your projects and  start testing I advise you to download swapo
  3375. 6:20:05in advance and go through it search for some  examples of other wsdls click through all the
  3376. 6:20:13methods that are in test based confluency here  too everything's also described in detail so
  3377. 6:20:21that you simply lost your fear of the tool since  at first it may seem that this application is
  3378. 6:20:27very complicated there is a lot of things there  are but in fact for your work as beginner tester
  3379. 6:20:35you will probably only need to create a project  load into STL and work with the parameters
  3380. 6:20:42themselves and with various combinations of them  that's what the swapi tool is all about again I
  3381. 6:20:50will not talk in detail about each functionality  of this application in this lesson but only give
  3382. 6:20:58a short tour of the application I think everything  is clear about sapi does not need any additional
  3383. 6:21:05clarifications if you have any questions about  installing the software then be sure to leave them
  3384. 6:21:12in the comments I answer to everyone I think that  my subscribers can confirm it by 100% that is at
  3385. 6:21:21we have a good communication going on so feel free  to ask your questions yes by the way I completely
  3386. 6:21:28forgot to tell you so now we have done everything  under the hood but we also need to check whether
  3387. 6:21:35we have this user in our system as we can see we  have this user in our system that is the email
  3388. 6:21:43that we entered the fio is displayed also here is  provided the fact that the author of sap or rest
  3389. 6:21:50s this information that is you can immediately  see here the dates of changes and also you and
  3390. 6:21:56I can attempt to log in using our password 123 to  do this we first enter our password and then our
  3391. 6:22:03email after that we click authorize and we will  successfully log in that means we encounter no
  3392. 6:22:10issues so we need to ensure that we check how our  web service is functioning under the hood sending
  3393. 6:22:17requests and on the UI how it is displayed and  uh whether everything is operating correctly and
  3394. 6:22:25the next aspect that we must examine is rest  requests alongside the postman tool [Music]
  3395. 6:22:35once more type in Google Postman and find the  official site it will be the very first one
  3396. 6:22:44again I will leave the link for your convenience  also in the description below and download this
  3397. 6:22:51application that is just download the app it  is downloaded again to the computer no problems
  3398. 6:22:58first the installer then again next next next next  without any changes and it installs additionally
  3399. 6:23:06Postman is available in the web version as well  here you can for instance log in using your Google
  3400. 6:23:13account the same feature is available in your  accessibility version will be accessible on the
  3401. 6:23:19web too however there are still some limitations  so I recommend downloading postmen directly to
  3402. 6:23:25your computer I have already downloaded that  tool as well let's go ahead and open it up
  3403. 6:23:37and here we see the UI of our application  now what is good about Postman well because
  3404. 6:23:43an entire team of testers can collaborate  in it simultaneously developers have the
  3405. 6:23:49ability to share their test cases  and you can also automate and write
  3406. 6:23:53scripts in JavaScript you can share this  valuable information with your team create
  3407. 6:24:00various collections of your queries work in  different workspaces and create different
  3408. 6:24:04parameters the tool is a very interesting  multifaceted tool it is not the most complex
  3409. 6:24:19I will tell you right away so that you do  not have again fear of this tool at first
  3410. 6:24:26you will just use it for testing purposes  to select a method to enter your request
  3411. 6:24:31parameters and send directly this request  to the server receive a response and study
  3412. 6:24:36this response already from the point of  view of testing whether everything came
  3413. 6:24:41successfully or not let's go back with you to  our Conflict at the very bottom of the method
  3414. 6:24:50the register enters information about Json with  an example of how to call it so there will be
  3415. 6:24:56this Json formatted request and the response to  it what it should look like there is not always
  3416. 6:25:04good documentation for rest requests so always  shake your developer so that they provide you
  3417. 6:25:13with test data sample queries sample responses  based on which you will test don't be shy
  3418. 6:25:20communication is our everything also there are  schemas like in stdl and for Json for rest but
  3419. 6:25:28uh they are not required so usually they sin and  do it and do not write such waddle so once again
  3420. 6:25:36all hope is just to have a good relationship  between you and the developer and establish
  3421. 6:25:42a process within your team to communicate  the information that you need for testing
  3422. 6:25:47before we get directly into testing with Postman  let's talk literally a little bit more about the
  3423. 6:25:57methods sometime a long time ago at  the beginning of the web application
  3424. 6:26:06testing block I promised you that  I will tell you about methods how
  3425. 6:26:10they differ from each other what  it is a method is a type of HTTP
  3426. 6:26:15request that tell the server to what  action we want to take with a resource
  3427. 6:26:26that is you may counter wording such  as HTTP method and HTTP uh request
  3428. 6:26:34type these are the same thing there are four  basic types of methods they are get post put
  3429. 6:26:42and delete what are these methods aimed at the  get method in principle by the name it is already
  3430. 6:26:50clear that it is aimed at getting information  from our server the post method usually serves
  3431. 6:26:56for adding information to our resource  for example if we want to upload some
  3432. 6:27:05music or to enter password and log in in the  input fields and send them to the server or
  3433. 6:27:12to upload some text to our server that is for  this purpose we will put a post there is also a
  3434. 6:27:19path according to the classics put serves  to replace some information to change the
  3435. 6:27:28her on server the delete method as  its name suggests is used to delete
  3436. 6:27:35information various sources mention  that the post method can also change
  3437. 6:27:41information similar to the put method or  even delete information the put method
  3438. 6:27:46can also add information ultimately  it depends on how developers choose
  3439. 6:27:51to use these methods as you can also  create custom methods that will be
  3440. 6:28:04to perform any of the functions but what else do  you need to know about methods well methods are
  3441. 6:28:11responsible for what's called crud operations  or crud operations you will come across This
  3442. 6:28:19Acronym very often in testing and what does  crud mean it stands for create read update
  3443. 6:28:28delete usually whenever we test something we have  to consider our test object in terms of these four
  3444. 6:28:34actions as an example there are different  permissions for instance in ordinary user
  3445. 6:28:43has permissions only to read a moderator  can modify some data on your system a
  3446. 6:28:51super user can create read and update  data on the system and then for example
  3447. 6:28:57there's an administrator who can do  all of those things simultaneously
  3448. 6:29:15and we should always use various combinations  of these four methods four operations this is
  3449. 6:29:22so that you will not be frightened in the future  when you come across such a formulation and here
  3450. 6:29:28you see in brackets I have specifically written  about each method what it can do do in terms of
  3451. 6:29:35operations that is get is just reading post  depending on the source in your developer
  3452. 6:29:42can be responsible for creating update and  delete of some information put is creating
  3453. 6:29:48or modifying and delete is purely deleting any  information also quite often during interviews
  3454. 6:29:59they ask about the differences between get  and post methods so you should definitely
  3455. 6:30:04remember that the get method is very easy to  detect and identify because it always appears
  3456. 6:30:11in the address bar so whatever we write in  the address bar we are trying to get some
  3457. 6:30:17information from the internet and there we can  enter various parameters that we are interested
  3458. 6:30:24in always pay attention to the address bar  get is an address bar and unlike post method
  3459. 6:30:36get has no request body that is we cannot use  get to download any information in the body of
  3460. 6:30:43the request as I told you before we can have  different payloads different payloads that is
  3461. 6:30:49text music code anything can be contained in the  body of the request and that's what's uploaded
  3462. 6:30:56to our server so the post has the request  body the get doesn't have it get requests
  3463. 6:31:04as I said always have parameters that are  contained in the address bar get is limited
  3464. 6:31:10by the length of the address bar you need to keep  that in mind too and in principle you can always
  3465. 6:31:15test this that is if you know you have limitations  uh you can enter the number of characters in The
  3466. 6:31:22get request and see how the system will behave  whether it will generate some kind of error
  3467. 6:31:27whether this request will be processed at all get  is cached on the client side too if it should be
  3468. 6:31:34remembered that data from get requests fall  into the cache and since get is in fact our
  3469. 6:31:41address bar it can always be saved as a bookmark  in our browser so keeping these differences in
  3470. 6:31:48mind you can successfully answer this question  when you're asked what the difference between
  3471. 6:31:54get and post requests are uh I've been asked  in my first interviews it's almost every time
  3472. 6:32:04so pay attention to that for sure if you need to  rewind make a note to yourself what the difference
  3473. 6:32:10between get and post requests are or simply uh  find information on the internet in the form of
  3474. 6:32:15table comparisons they are on many resources and  also read about other methods besides these four
  3475. 6:32:22basic ones how do they differ I will tell  you right away that pay attention to such
  3476. 6:32:27a method as option I will not tell you what it  is responsible for but in principle it is also
  3477. 6:32:33inter interesting and even when they ask you for  example what methods you know if you name more
  3478. 6:32:39than these four it is already a big plus to your  success in the interview we have talked a little
  3479. 6:32:45bit about methods let's go back to our sheep  our Postman and right away you can see that we
  3480. 6:32:51have a get method when you click here you can  see a huge number of methods that are there by
  3481. 6:32:59default here are our four basic ones which are  get post put and delete and then there are the
  3482. 6:33:07other ones that are different options which I've  already mentioned be sure to read about it too
  3483. 6:33:13and if you're interested you can explore the other  methods that are here but again I would not advise
  3484. 6:33:20you to go into this topic very deeply because  the methods can be invented by the developers
  3485. 6:33:25themselves and they can be custom so they may  be different for each company let's go back to
  3486. 6:33:31our conflict with you let me say right away since  we are going to be loading some information about
  3487. 6:33:37our user we're going to use uh the post method I  mean I think it's understandable we don't want to
  3488. 6:33:45find some information on our resource but to add  a new user to our database to our users's bucket
  3489. 6:33:53what do we need to do in order to submit a request  copy our that we need it's in the document mation
  3490. 6:34:05let's select the post method as I mentioned above  and also enter our request and since we have it
  3491. 6:34:12in Json format we need to upload it to in the body  that is our body that we sent to the server select
  3492. 6:34:23row and select Json here that is so we can now  safely load this Json and send the information
  3493. 6:34:33to to the server since we already have such a user  on the site uh we can see an error message in the
  3494. 6:34:41response but as you can see the system is not very
  3495. 6:34:47well has been finalized we should not have the  status code 200 okay here but another status
  3496. 6:35:02code that would tell us that we have some kind  of error let's come up with a new mail of some
  3497. 6:35:09sort a new name and password let's try to send  it or send it it went through successfully 200
  3498. 6:35:18status code our user has been created and let's  log in refresh the page yes everything is fine
  3499. 6:35:25that is we have our user file author already rest  and date of change and we can also verify this
  3500. 6:35:32with you provided we have have authorization to  access our site now let's go ahead and copy our
  3501. 6:35:37password everything is fine we have successfully  logged in and this user has been created so we
  3502. 6:35:56can work with him further you may also notice  that there is additional information here that
  3503. 6:36:01we did not send in our request for for example  there is the date of birth gender meaning we did
  3504. 6:36:09not send this information either here again this  can be done through some other methods we can also
  3505. 6:36:16achieve this not by using our Json which we had  in the example but by just entering the value key
  3506. 6:36:24pairs to accomplish this task we need to  memorize which parameters are mandatory
  3507. 6:36:37and what their types are specifically these  are three parameters first go to postman and
  3508. 6:36:43select the params tab then we enter these three  parameters and send the request as you can see
  3509. 6:36:50we have successfully sent everything and the  parameters appear directly in our request URL
  3510. 6:36:58we can verify this again on the resource itself  [Music] our email F and author once more using
  3511. 6:37:10the same system we log out and authorize again  let's confirm that yes indeed such a user has
  3512. 6:37:18been created this in summary is about Postman  and how we can work with it so you should not
  3513. 6:37:25encounter any difficulties with other methods  either that is we simply select a method and
  3514. 6:37:34we send our requests in the same manner  again combine different test cases that
  3515. 6:37:39is we remove some mandatory parameters we  delete them leave the fields empty or swap them
  3516. 6:37:45around that is we are all examining how it can  be I believe that will suffice for you in the
  3517. 6:37:54future I think this will be adequate for you to  to parse all the methods available in confluency
  3518. 6:38:02for users block red this will be your initial  homework assignment that I am announcing in this
  3519. 6:38:09let's say course go through all these methods  both in soap and in rest that is in suu and
  3520. 6:38:16imp Postman and let's note in the comments  whether you succeeded and if you have any
  3521. 6:38:21questions what else I'd like to tell you about  are some very very useful links and resources
  3522. 6:38:35that can help you a lot in mastering and  testing the API once again back to our
  3523. 6:38:42favorite test Bas that I previously mentioned  once again I leave the link in the description
  3524. 6:38:47below here is various detailed information  of bug trackers that you can practice on
  3525. 6:38:53and recall the topic on back tagging J systems  and filing comprehensive bug reports and defect
  3526. 6:39:03reports a test storage system again you can poke  around here take a look test link for example is
  3527. 6:39:11free where to test apis there are free sites with  test apis where you can poke around also regress
  3528. 6:39:17a in is a very popular resource more full-fledged  systems again are those that have been developed
  3529. 6:39:27either directly by ogga and her team or they're  just also once developed that is users the system
  3530. 6:39:37that I have already shown you today shop and  Swagger C I'll be twiddling our thumbs sometime
  3531. 6:39:42later very soon there's also a test design which  means there are simulators here that you can
  3532. 6:39:49look at as well the triangle for example is an  interesting simulator on one of the most popular
  3533. 6:39:55interview questions but I won't say it's the most  popular I for example was not asked it we can
  3534. 6:40:02also go and click all this and practice there is  also such an interesting Resource as swappy this
  3535. 6:40:12is where information about the Star Wars movie  universe is stored and you can also use the API
  3536. 6:40:18to test and find information about the various  characters that were part of this movie Saga so
  3537. 6:40:25you can you can look at all of this here in a  very interesting way planets weapons creatures
  3538. 6:40:33I mean is very interesting for those who were  once fans or still are Star Wars fans and again
  3539. 6:40:41on the API there's a huge number of different  simulators available for example the API of the
  3540. 6:40:47vonty social network is publicly available that  is you can easily find this documentation on
  3541. 6:40:52this API and also send some requests there will  uh likely be some authorizations using tokens I
  3542. 6:41:03have not doubled with this but I know that it  is definitely there and some other resources
  3543. 6:41:08have apis too so you can look at all that I also  recommend if you have the opportunity for example
  3544. 6:41:14or if show some Ingenuity and search on various  resources such course as API testing from MGA
  3545. 6:41:22Nina I believe you will really like it and find  it highly useful because she discusses apis in a
  3546. 6:41:29lot of detail there on this resource users talk  about automation with the help of apis it's very
  3547. 6:41:37detailed and suitable for both beginners and  advanced testers so it comes highly recommended
  3548. 6:41:43again this is not an advertisement but simply  because the course is genuinely not bad at
  3549. 6:41:50all and uh let's discuss the final unit within our
  3550. 6:41:58class this is about how to  write test cases in general
  3551. 6:42:04specifically for testing epis what we should  consider there I will also show you an example
  3552. 6:42:11of such a test case let's begin with the work plan  it is standard just like it is for any testing any
  3553. 6:42:19feature first we study the requirements or write  them if they do not exist then based on these
  3554. 6:42:26requirements we write our test cases and of course  proceed to test them um requirements are directly
  3555. 6:42:34our documentation is badl wsdl samples of our  requests sample responses that you can get from
  3556. 6:42:41the developer we write cases based on again this  documentation that is nothing complicated again we
  3557. 6:42:47include test design techniques for this and we  have already talked about testing a little bit
  3558. 6:42:54earlier in this lesson with the help of subi  or with the help of Postman also in subi you
  3559. 6:42:59can test and rest requests as well as in postmen  you can test rest requests so this is already at
  3560. 6:43:09a more in-depth level if you are interested you  can find information on the Internet or you can
  3561. 6:43:14poxb the T data yourself so to speak requirements  input data what parameters and attributes does the
  3562. 6:43:22service have this is for example if we have vsl  we can look there and again as I've said a few
  3563. 6:43:29times today in class these are sample queries  that we can ask developer what are the test
  3564. 6:43:35cases we categorize them into our three main ones  which are smoke critical path and extended I've
  3565. 6:43:44talked about all of these types of testing and  test cases in classes before so I won't repeat
  3566. 6:43:49myself if you're interested the link will now  appear at the top you can go and study refresh
  3567. 6:43:54that information as far as smoke is concerned  that's one requisite for the method critical
  3568. 6:44:00path is all the valid requests we can think  of for our method and methods and extended is
  3569. 6:44:11all invalid invalid are any queries so what are  some specific tests for web services and for our
  3570. 6:44:20queries as I said we can send some empty values  in the parameters to see how the system behaves
  3571. 6:44:27it should give errors if that value is mandatory  if it is an optional value then it is a acceptable
  3572. 6:44:33that there are no errors if it is specified in  the requirements we can try to send in Json for
  3573. 6:44:41example comments comments if you are interested  in programming are such strings which are formed
  3574. 6:44:49or consists in several slashes or justified by  asterisks and they are not perceived by our system
  3575. 6:44:57as executable code that is there are just some  notes on what we have written in our product code
  3576. 6:45:03so we can try to send such comments inside our  uh Json for example or in XML and see how it
  3577. 6:45:12behaves system whether it perceives them as  executable code the validity of the answers
  3578. 6:45:18agrees with the scheme if available which is  what we mean subcircuits these are our wsdl and
  3579. 6:45:26wadel as I said just open our wsdl in sapi when  creating a new project and start testing that is
  3580. 6:45:34we enter in these parameters in these hour tags  the information that we will pass to the server
  3581. 6:45:41and see how the server perceives it what status  codes it returns to us for example and the answers
  3582. 6:45:47checks with required and optional attributes  again as I have already said a bit above let's
  3583. 6:45:57see what we have required and mandatory must be  sent in the request again how the system behaves
  3584. 6:46:04checks with optional and invalid values again  we add some parameters that are not specified
  3585. 6:46:10in the test documentation or in the examples of  our requests let's see how the system behaves
  3586. 6:46:18or if we have for example specified that we  have in the parameters is a numeric type and
  3587. 6:46:26we write letters then the system should also  swear and give us the wrong answer the system
  3588. 6:46:32but the server different data types instead  of a string of numbers while these things are
  3589. 6:46:38comparable duplicate attributes of elements take  our element for example passport copy it several
  3590. 6:46:44times send it see how the system behaves the order  of attributes in elements if we have a clear order
  3591. 6:46:51set and we violate it then the system should give  an error the service should send us a status code
  3592. 6:47:01indicating that the information we sent to the  server hasn't been processed we deal with long
  3593. 6:47:08strings of numbers and invalid data I discussed  invalid data in terms of Json and XML syntax in
  3594. 6:47:17the last session there's a lot of information  there so we revisit the last class to study
  3595. 6:47:23it if you suddenly for example even opened this  class before you learned about the theory in terms
  3596. 6:47:35of testing web services you study this information  too that's something that relates to our queries
  3597. 6:47:41and what about the responses like I said we look  at the status code we look at the response body
  3598. 6:47:46and what kind of error text we're getting again  if it is specified in our documentation that a
  3599. 6:47:52certain status code and a certain error text must  be received and they do not match then this bug
  3600. 6:47:59we introduce this bug into the system and as I  promised here is an example of our test case it
  3601. 6:48:07is created according to the same Principle as  our regular test cases this is a summary our
  3602. 6:48:14header name and this is the priority which is  the order of execution of these test cases test
  3603. 6:48:21type here we have regression and automation  our steps include running arrest request our
  3604. 6:48:30request and a specific UR method that allows us  to run this method the headers that we include
  3605. 6:48:38in our request and Buddy which is already  written in Json format detailing what we are
  3606. 6:48:44sending to the server the  expected result is written in
  3607. 6:48:53the form of our response then it is body from the
  3608. 6:48:57response also such and such group with such and  such ID should have been created make sure like
  3609. 6:49:05I said we test this on the UI this means we  go to our URL and verify that the group was
  3610. 6:49:12indeed created so this is what our test cases  look like nothing complicated standard in our
  3611. 6:49:19steps we specify for requests the data that  we send to for so the results we WR here we
  3612. 6:49:28already have our information about the body  what we should generally get from our server
  3613. 6:49:33this is how we design our test cases in our  systems which allow us to save them the same
  3614. 6:49:38is true for dealing with box that is during  playback steps we attach it to the process
  3615. 6:49:47if something goes wrong for example if  we receive an incorrect response from
  3616. 6:49:52the server we attach this Json directly to our  bug report and the developer will work with it
  3617. 6:50:06here is such a very long lesson we have turned  out a bit more than I initially planned because
  3618. 6:50:13I want to tell you so much about this particular  topic if you are interested in learning how to
  3619. 6:50:20work with Postman how to work with soap UI on a  more in-depth level then please be sure to let
  3620. 6:50:26me know in the comments below I think after I'm  done recording the entire basic tester course
  3621. 6:50:32from scratch I'm going to start taking apart some  things in much more detail some tools so that you
  3622. 6:50:40can learn them not just at the level of a beginner  tester but perhaps as a continuing tester and I
  3623. 6:50:46sincerely hope this information will be useful  to you the same applies to other tools that are
  3624. 6:50:53frequently mentioned in the comments of my videos  such as git Jenkins or Docker I didn't really
  3625. 6:51:03encounter these tools very often in my work at the  first place I worked I mostly used backtracking
  3626. 6:51:09and I've been testing from a UI perspective so  I don't have that much expertise on this stuff
  3627. 6:51:25but I'm slowly starting to get it now at my new  place of work because at my new place of work
  3628. 6:51:32we're using it so I think that when the last  lesson on testing from scratch is released
  3629. 6:51:40uh I'll start recording videos for you as you  asked about the Practical aspects of different
  3630. 6:51:48tools but I think I'll be able to tell you  some basic things before that so be sure to
  3631. 6:51:57post anything that interests you I create  a Content plan based on your requests and
  3632. 6:52:02interests for example if you want to learn  something about API testing I have prepared
  3633. 6:52:08such a session for you if you want to learn  something about git I will definitely record
  3634. 6:52:13a basic lesson for you as well in this lesson I  will tell you about what repositories are what
  3635. 6:52:20branches are how you can clone these repositories  how they are interconnected in general and overall
  3636. 6:52:27what git is used for from the perspective of  development and even testing so subscribe to
  3637. 6:52:33this channel click the Bell to not miss new videos  we will see you very soon Welcome to our tent
  3638. 6:52:40[Music] bye hello YouTube I'd like to start by  by congratulating you on the fact that we've
  3639. 6:53:04completed learning about web application testing  at the novice tester level and are now ready to
  3640. 6:53:10move on to the next unit testing databases why  databases and not mobile application testing
  3641. 6:53:17it's quite simple because by knowing the theory  of testing from the first block web application
  3642. 6:53:23testing from the second and understanding  databases you will already be prepared to
  3643. 6:53:30interview for the position of a novice tester  in the field of web application testing that is
  3644. 6:53:37you will no longer need the knowledge to test the  mobile or if your company plans to move to them in
  3645. 6:53:45the future you can easily learn them already  either in my classes or already inside your
  3646. 6:53:50company with the help of your mentors before  we move on to today's session I would like to
  3647. 6:53:55draw your attention to the following in the last  lesson I made a mistake when I told you about the
  3648. 6:54:01post method and where we should enter values in  order to send a request to the server I told you
  3649. 6:54:15that you should send them in the param stab this  is wrong as this tab is used for get requests to
  3650. 6:54:22send data to the server via post we must use  exactly the request body that is we select
  3651. 6:54:28the body tab select the form date with the radio  button and enter our already key value here and
  3652. 6:54:36send our request this is how uh request post works  correctly so uh I apologize uh everyone can make a
  3653. 6:54:46mistake so pay attention to this when you will be  you can watch the previous video or go back to it
  3654. 6:54:57if you forget something and now directly about  databases why it is necessary for a tester to
  3655. 6:55:04know them data is a very useful tool that is used  not only in testing but also in development itself
  3656. 6:55:12even in business analysis that is it is quite a  powerful tool as data is our everything I would
  3657. 6:55:20like to draw your attention to the following  in front of you you now see a familiar form
  3658. 6:55:26for registration on the site such a form is very  often shown during job interviews and they ask
  3659. 6:55:32you to explain how you would test it the most  significant mistake begins when you start saying
  3660. 6:55:39that you would for example enter the maximum  number of characters in the login field or use
  3661. 6:55:45the same password after carrying out all the tests  that we discussed in the testing of the web form a
  3662. 6:55:53link will now appear at the top yes that's right  but this is not the initial step you should take
  3663. 6:56:01the most common case study user story requirement  from your interviewer typically goes something
  3664. 6:56:07like this please test that you can log into the  system how can we accomplish this all data about
  3665. 6:56:15logins passwords or any other information that  may be contained on this form is stored in a
  3666. 6:56:20database that means our form which is the client  sends a request to the server with some data
  3667. 6:56:34that is he writes there that please return  me the information about whether there is
  3668. 6:56:39such a user with such a login and with  such a password in the system that is
  3669. 6:56:47whether they coincide or not whether they  are in the database and the server sends
  3670. 6:56:52this request further to the database if  it matches the database says okay the
  3671. 6:56:57server receives this information and sends it  directly to the client and we enter our site
  3672. 6:57:02that is necessarily our first point is that we  have to go into the database and check whether
  3673. 6:57:09there is information about this user using a  query which we will talk to you about in the next
  3674. 6:57:16lessons so remember this is your very first step  and then after we have checked that yes indeed
  3675. 6:57:24we can log in that we have entered the database  that it contains the information we need only then
  3676. 6:57:30do we proceed directly to testing the form itself  entering invalid values or acceptable values in a
  3677. 6:57:38given range which are in the requirements that is  we pay our attention to it also works absolutely
  3678. 6:57:46everything related to datab Bases since it is  simply impossible to store all information and all
  3679. 6:57:52data inside the same document of Vera or css so  we resort to some storage which contains our data
  3680. 6:58:02this is the database that is the database is  a set of information stored in an organized
  3681. 6:58:08form and let's see generally what there are  databases their types there are three main
  3682. 6:58:16types of database hierarchical Database Network  database and relational database hierarchical as
  3683. 6:58:23is clear from the name is as follows that is we  have a single root node and from It Go branching
  3684. 6:58:31to others directly at this Noe which belongs to  our root Noe there are some other nodes and so
  3685. 6:58:37they Branch further and further so there is a  certain hierarchy consisting of several levels
  3686. 6:58:43it's known as the ancestor descendant system  to explain an ancestor could be our root node
  3687. 6:58:49for instance and descendants would be the nodes  that Branch off from this root node therefore
  3688. 6:58:53for uh level three the ancestors would be those at  level two and level three would be the descendants
  3689. 6:59:00of level two and this pattern continues onward  the next type of database is a network database
  3690. 6:59:07in this type we also have a data set but the  key difference is that this data set depends
  3691. 6:59:11on other data sets as well so they have some  kind of relationship that is not just a one
  3692. 6:59:16to many relationship but here we can already  have relationships like many to many many to
  3693. 6:59:22one we will talk about these inter relationships  a little further on so that you understand what
  3694. 6:59:28a network model is it looks in the form of a  network like this hierarchy in the form of a
  3695. 6:59:34tree Network in the form of a network and the one  that is used now in all databases is relational
  3696. 6:59:42model when we have many two-dimensional tables  that contain our data and these tables can also
  3697. 6:59:52be related to each other we need to understand  relational databases and so what do you need to
  3698. 6:59:58know about relational databases first of all  what do they consist of there is a so-called
  3699. 7:00:04primary key also known as a primary key  which is the unambiguous identifier of a
  3700. 7:00:10given row and it is mandatory for a relational  database why because it's Unique um and if for
  3701. 7:00:18example we take the value column name we  will see that there can be identical names
  3702. 7:00:26in this case our database might sometimes work  incorrectly when we query a particular name it
  3703. 7:00:32could return many identical values providing  us with numerous results for a single query
  3704. 7:00:37therefore we use identifiers that uniquely  Define the rows in our database these
  3705. 7:00:45identifiers are crucial they are known as  secondary keys or external Keys these keys
  3706. 7:00:52are particularly useful for instance when  we have two tables containing related data
  3707. 7:01:03then how do we link these tables together we  use a secondary key this means we enter some
  3708. 7:01:09identifiers for these two tables and with  the help of this identifier we link our two
  3709. 7:01:15tables for instance the identifier 11 will  correspond to the data Ivan single Osa and
  3710. 7:01:23male 25 in this way we are linking multiple  tables the secondary key is optional and
  3711. 7:01:32appears only when we have several  tables and need to maintain some
  3712. 7:01:36patterns the interrelationship between the two I  would also like to know that rows in such tables
  3713. 7:01:49are called records and columns are called Fields  the next aspect I would like to touch upon is the
  3714. 7:02:00aspect of normalization what is normalization it  is the process of making tables look normal it
  3715. 7:02:08sounds quite strange but let's understand what  normal look or normal forms are these are the
  3716. 7:02:15requirements for tables in relational database  theory that is we have some rules by which our
  3717. 7:02:21tables must be created in order for them to be  adequately processed by our database management
  3718. 7:02:29system which we will talk to you about in this  lesson a little bit further on and you need to
  3719. 7:02:35know at least two of these normal forms there are  more there is also a third normal form but I will
  3720. 7:02:41not dwell on it in detail because usually it is  not asked either at job interviews or in ordinary
  3721. 7:02:48life you do not meet it so if you're interested  you can Google what that is I'm sure you'll find
  3722. 7:02:54the explanation on the internet without any  problem now if we talk about the first normal
  3723. 7:03:01form it requires that each element of the table  has only one value meaning it should be Atomic
  3724. 7:03:08as we can see here in this particular  row we have multiple values in a single
  3725. 7:03:14field it's incorrect we need to split  This Record to make it Atomic allowing
  3726. 7:03:26us to use each field separately so here  is this record now correct and meeting
  3727. 7:03:32the first normal form requirements remember  atomicity the second normal form necessitates
  3728. 7:03:41that the table is in the first normal form  that means if we don't fulfill the first
  3729. 7:03:47normal form requirements we can't claim  that this form is also the second normal
  3730. 7:03:52form if other conditions are met and all Fields  must depend entirely on the primary key not just
  3731. 7:04:08on any part of it so look carefully in this  table we have two keys here department and
  3732. 7:04:15position and our salary depends on both of those  keys however the need to have a computer in the
  3733. 7:04:23workplace depends solely on the position  meaning the department does not affect it
  3734. 7:04:29at all this is incorrect so we must adjust  this form to comply with the second normal
  3735. 7:04:35form in this case we keep the salary in this table  and it depends on the department and position and
  3736. 7:04:48the need for a computer is transferred to another  table and it depends only on the position I hope
  3737. 7:04:56that it became a little clearer to you what it is  I remind you that you should uh read about about
  3738. 7:05:01the third form on your own also since there is a  normalization process there is such a process as
  3739. 7:05:08denormalization in queries to a fully normalized  database it is not uncommon to join up to a dozen
  3740. 7:05:15even more tables and each join is a very resource  intensive operation as a consequence such queries
  3741. 7:05:23require a huge amount of server resources and  are executed very slowly therefore the process
  3742. 7:05:30of denormalization comes into play there are  several ways in which this can be accomplished
  3743. 7:05:37for example denormalization by reducing the number  of tables that is it is better to combine into one
  3744. 7:05:44table several tables of small size containing  rarely changed information and the information
  3745. 7:05:52should be closely related to each other in terms  of meaning in this way we reduce the number of
  3746. 7:05:59queries to our database and to the amount amount  of information we need to process and the second
  3747. 7:06:06common way is denormalization by introducing  an additional field into one of the tables in
  3748. 7:06:12this case some redundancy of our data appears so  additional actions are necessary to preserve the
  3749. 7:06:18Integrity of our database to run a denormalization  process you need to know our database very well
  3750. 7:06:26how it behaves with the amount of data that's  in it how long it takes to process so I think
  3751. 7:06:33that you as novice testers don't need to get into  this operation head-on but you just need to know
  3752. 7:06:39that not always bringing it normal form Center  requirements can very well affect the performance
  3753. 7:06:47of our uh database I think if you are brought into  the dynamization process you are LED through what
  3754. 7:06:57you will need to do and how these actions of yours  will affect the data database the next aspect that
  3755. 7:07:04I would like to touch on today is the relationship  in the database there are three types and uh one
  3756. 7:07:11of these types can go by different names we're  uh we're going to talk to you uh a little
  3757. 7:07:17bit more about them now there is the onetoone  relationship this means that each record in one
  3758. 7:07:22table corresponds to only one record in another  table it's nothing complicated a on to many
  3759. 7:07:28relationship means that each record in one table  corresp responds to one or more records in another
  3760. 7:07:33table a many to one relationship is exactly the  same as one to many it's just that this type of
  3761. 7:07:40relationship depends on your point of view and  the last type is many to many when a relationship
  3762. 7:07:49between two tables occurs when each record in one  table corresponds to one or more records in the
  3763. 7:07:56other table a table corresponds to 0 1 2 or more  records in another table and vice versa that is at
  3764. 7:08:04your leisure read in more detail what it can mean  and memorize these three basic types of one to one
  3765. 7:08:11one to many and many to many as it will help you  better understand the relationships within your
  3766. 7:08:17tables within your database and lastly let's talk  about the database management system it is a set
  3767. 7:08:27of language and software that allows us to create  modify Del delete our data access and secure our
  3768. 7:08:33data as well as all possible uh modifications of  this data that is everything you can think of that
  3769. 7:08:42we can do with our data inside this database  very often people ask what is the difference
  3770. 7:08:50between a database and a dbms and sometimes this  question is confusing so pay your attention that
  3771. 7:08:57a database is first of all an object and and  uh it is always just a set of some data and a
  3772. 7:09:05management system is an entity that let's say  manages our data and to a first approximation
  3773. 7:09:11it's just a program some kind of software so a  database is just our data a dbms is a program when
  3774. 7:09:17you memorize this and understand it for yourself  you will not have any questions related to how a
  3775. 7:09:24database differs from uh dbms there are several  kinds of basic databases this is not all of them
  3776. 7:09:33that is the most common is myql which we will  work with in the next lessons I will teach you
  3777. 7:09:40how to install my gcal server we will learn how  to write queries selects which will be useful for
  3778. 7:09:47you 100% joints which you probably won't need but  usually some normal companies ask for them at job
  3779. 7:09:56interviews there is also micro Microsoft Squall  Oracle postris koal mongodb and many other dbms
  3780. 7:10:08app all these systems share a common feature they  are built on seal which stands for structured
  3781. 7:10:15query language this is a programming language  for structured queries that's what all these
  3782. 7:10:21databases use while there are some differences  in various systems the basics remain the same
  3783. 7:10:29in the description I will include a link to  kof's book which discusses different dbms and
  3784. 7:10:35various we will learn about the differences  that may occur there it is quite difficult to
  3785. 7:10:48understand for people who have never encountered  DB databases or dbms if you are interested you
  3786. 7:10:54can read more about it but actually the  data I will provide in the next lesson
  3787. 7:11:02will be enough to learn how to write queries  however you need to practice a lot because in
  3788. 7:11:08interviews they always ask about queries selects  sometimes even joints you need to be able to write
  3789. 7:11:16queries how to write them I think that's all for  today that is some theory that it is necessary
  3790. 7:11:24to know the minimum that we will need with you in  the future and in general you may be asked all of
  3791. 7:11:30these things in an interview in the next lesson  we with you will install our cql server and we
  3792. 7:11:37will work directly with our queries we will learn  what types of data there are in the database we
  3793. 7:11:43will learn how to write selects and possibly if  we have time joins as well if not we will learn
  3794. 7:11:50how to write joins on the next after the next  class right away I would would like to say that
  3795. 7:11:59you often write to me why so much the the I would  like more practice but guys when you come for an
  3796. 7:12:05interview most often you are asked just Theory  so you will be asked a lot on testing Theory
  3797. 7:12:13which we covered in the first block on application  testing you will be asked about the HTTP protocol
  3798. 7:12:19about HTTP requests about the different models  that are out there about databases yes you will
  3799. 7:12:26be asked most likely what ddbms you have used  and asked to write some queries that is you'll
  3800. 7:12:34probably be given a list of tasks where you will  need to use a query to get some selection from a
  3801. 7:12:38database so you and I will certainly consider this  so don't forget about the theory I understand that
  3802. 7:12:45you want to practice Perhaps it is somehow more  fun and you have the impression that is nowhere
  3803. 7:12:51without practice yes I agree practice is  necessary but when you come to work on a
  3804. 7:12:59project you are usually taught a lot of things  things are new because courses even paid ones
  3805. 7:13:04do not always cover all those practical aspects  in programs that you will need in your real work
  3806. 7:13:10but I try to introduce practical classes as much  as possible and I think that what I'm telling you
  3807. 7:13:20is enough to successfully pass the interview for  the position of jun a novice tester everything
  3808. 7:13:27else is only in your hands that is you go through  some theoretical moment be sure to see in practice
  3809. 7:13:35how it can work check out additional videos that  are available on the internet there are a huge
  3810. 7:13:41number of useful YouTube channels with quality  presentation of information but you just have
  3811. 7:13:49to look for them learn to search learn to Google  this skill will never hurt you because in your
  3812. 7:13:56real work you will very often encounter such sters  and dead ends and you who don't always need to
  3813. 7:14:03run immediately to a knowledgeable person or to a  developer who already has a lot of work to handle
  3814. 7:14:10or to your lead or manager they have a lot of work  to do don't forget that always make an effort to
  3815. 7:14:20find the information you need by yourself only  if you have tried everything and it did not help
  3816. 7:14:24you and you find yourself at a dead end then  and only then should you contact an expert in
  3817. 7:14:30this matter someone who who can assist you this  is my message it might seem a bit aggressive at
  3818. 7:14:36the end but I just want to remind you to never  forget about Theory we will have practice of
  3819. 7:14:42course there will be more of it I am trying to  balance these lessons and not overload them with
  3820. 7:14:47just theory yes the first blocks were quite heavy  with Theory but you cannot progress without it
  3821. 7:15:05and that's it for me thank you so much  for sticking with me and writing such a
  3822. 7:15:09huge number of nice comments I'm actually very  pleased and warmed by the feedback I receive I
  3823. 7:15:14realize that all this work has been done for a  reason so I will of course continue to record
  3824. 7:15:21lessons for you it is not difficult for me it is  useful for you welcome to our tent bye [Music]
  3825. 7:15:44hello YouTube today we're going to continue our  study of databases and directly learn about my
  3826. 7:15:51school how to set up the server will be working  on and the commands that will help us interact
  3827. 7:15:59with the database and the tables that are in  it we won't be looking at selects and joins
  3828. 7:16:05in this class I decided that it will be fully  devoted to the initial work changes deleting
  3829. 7:16:13adding tables to the database and in the next two  lessons we will deal with selects and joins so
  3830. 7:16:21let's not delay and get started first we need to  download cql server to do this we go to myql.com
  3831. 7:16:30scroll to the bottom find the downloads  Tab and select my cql community server
  3832. 7:16:35this is where we can download our  cql server for free since it is
  3833. 7:16:39the community version what do we need  to do click on the go to download page
  3834. 7:16:45Banner this version works for both 32bit  systems and 64bit systems despite saying
  3835. 7:17:0632bit and download our installer  directly click on download no need
  3836. 7:17:12to register here click no thank you start  downloading the installer is downloaded
  3837. 7:17:18I already have it run it wait a  bit totally agree if we see these
  3838. 7:17:24values we have some updates here so naturally  we update two this installer which I downloaded
  3839. 7:17:37the other day already has some new updates  in the meantime you can see that there are
  3840. 7:17:41new updates available and we choose what  we want to download for our purposes we
  3841. 7:17:47will only need the server however you can  also download the full version then you
  3842. 7:17:53will have the eell available which is the UI  that we can directly work with I still think
  3843. 7:18:01that you and I are going to go hardcore and  start this whole thing first on the command
  3844. 7:18:06line so we we download just the server click  next select default folder since I already had
  3845. 7:18:16this server created here so it writes that  there is already such a pathway most likely
  3846. 7:18:25won't be so we don't change anything  here click next click yes in my case
  3847. 7:18:30it shows the status that yes ready to install and  start we wait for our server our local machine to
  3848. 7:18:38install it will take literally a couple of minutes  click next then we get the status that uh our
  3849. 7:18:49server is ready for configuration click next here  we do not change anything we leave the defaults
  3850. 7:18:55click next again again we do not change anything  here choose to use a a strong strong password for
  3851. 7:19:04encryption since I have already created a password  it is root a simple password that is usually
  3852. 7:19:12used that's how it's spelled so you'll  probably just uh a box popup for you to
  3853. 7:19:25enter that password you enter it and most likely  confirm it I on the other hand click check to
  3854. 7:19:33verify that my password actually matches  the one that was already entered earlier
  3855. 7:19:39after that we click next again here we also do  not change anything we leave it at the default
  3856. 7:19:46and thus starts our process this is where the  process of configuring our server begins and
  3857. 7:19:53that's it that concludes the server installation  process we are now finishing up our installation
  3858. 7:20:00next we need to locate our server directly within  our program panel for our work we will need to
  3859. 7:20:06use MySQL version 8.0 common line client unic  code simply run it and the server will prompt
  3860. 7:20:15you to enter the password you said earlier my  password is root but yours may be different if
  3861. 7:20:19you chose another one and that's it a welcome  window appears and uh we can directly work with
  3862. 7:20:26the databases that we have on the server but  first let's see what types of data are used in
  3863. 7:20:32databases and in general what we are going to work  with today when we create tables and modify them
  3864. 7:20:39first of all let's talk about data types there are  certain types of data that we can enter into our
  3865. 7:20:47spreadsheets and use them these data in principle  are standard they are even used in programming so
  3866. 7:20:53if you memorize them it will later help you  in some other aspects related to your work
  3867. 7:20:59because you will often counter with such names  of data their types first of all it is integer
  3868. 7:21:08abbreviated as int which is what we will use in  our databases these are integers this is from the
  3869. 7:21:15English decimal decimal fractions decimal numbers  so it is also clear what it is if we have a large
  3870. 7:21:23amount of textual information the following data  types are used they are blob text and memo if we
  3871. 7:21:31have small amounts of textual information then  our strings are used these are chaar from 1 to
  3872. 7:21:43250 characters if we're talking about text it's  about 65,000 characters the next type is our
  3873. 7:21:52different date formats that is it includes our  dates days time and year then we have a format
  3874. 7:22:00known as flat or double which represents floating  Point data there is also an intriguing data type
  3875. 7:22:07called time stamp this type stores a 4 byte  integer that equals the number of seconds that
  3876. 7:22:13have passed since midnight on January 1st 1970  grenage meantime that is the zero time zone the
  3877. 7:22:21origin point of all time zones that is it is also  a data type that allows us to judge when we have
  3878. 7:22:30created for example this or that element in our  database and usually time stamp depends on what
  3879. 7:22:37time zone you are in that is it can be different  for different time zones in different databases
  3880. 7:22:47there can also be such a data type as Boolean  that is just our value true or false and you
  3881. 7:22:52can separately refer to such data type as not  null that is it is obligatory for this string
  3882. 7:23:00for the given the fields must be for example these  values either or empty or if we say about not null
  3883. 7:23:11they must be filled with something this is what I  wanted to tell you about data types in principle
  3884. 7:23:18you can read more about them on the internet I  will try to include in the description a link
  3885. 7:23:25to some adequate article devoted to this aspect  because there are actually many more more data
  3886. 7:23:31types these are just some of the most common ones  and they are used far not everywhere next you and
  3887. 7:23:39I will proceed probably to the most interesting  part of our today's lesson that is we will learn
  3888. 7:23:44how to write some simple queries we will be  able to view our databases create databases
  3889. 7:23:51delete them use them and then we will create  our first tables and we will also be able to
  3890. 7:23:57add some values to them delete them change them  that is that's not talk about it for a long time
  3891. 7:24:02and go directly to now onto our server and working  with it as we remember we already have a my school
  3892. 7:24:09server open CLI for it and we can directly  start doing something with it let's start by
  3893. 7:24:16looking at what databases we have pre-installed  here to do this we need to enter such a command
  3894. 7:24:23as show databases nothing complicated here the  SQL language is built in English and English is
  3895. 7:24:30not complicated that is if you know some of  the key verbs that are in there then will be
  3896. 7:24:36the key words that are are used in our queries  it's simple here show databases that is so we
  3897. 7:24:46will see our databases so we already have some  databases that were probably pre-installed in
  3898. 7:24:51the system itself and a test that I created when  I was remembering some aspects to prepare for
  3899. 7:24:57this lesson and then once we've already been able  able to see what databases we have we can either
  3900. 7:25:03use some existing database or we can create our  own new one let's go ahead and create our new
  3901. 7:25:08one to accomplish this we use a command such  as create database and we need to provide it
  3902. 7:25:17with a name let's name it students one important  thing you need to know about syntax is that you
  3903. 7:25:24must include a semicolon at the end of each  of your queries if you don't ql will complain
  3904. 7:25:31well not SQL exactly but the subd you  are using will you can even test this
  3905. 7:25:36out it won't just complain it won't let  you execute the command until you add a
  3906. 7:25:40semicolon so for C it doesn't matter what row  you have data on it's still going to read this as
  3907. 7:25:51one query as one row and now we have our database  created with students we can check if it's really
  3908. 7:25:59like this show databases we'll use the command  again and yes as we can see we have a new database
  3909. 7:26:08students we can delete this database let's delete  just not this one but my Su test database that I
  3910. 7:26:18had created beforehand that is here we write  drop database and the name of our database it
  3911. 7:26:24is deleted again we're checking in order for  you to go back and not to re-enter your query
  3912. 7:26:30if it is very large for example and if you knew  for sure that you have it in one line that is
  3913. 7:26:36you have not moved them you can use the up key  and find your command we used show databases to
  3914. 7:26:45check what databases we have we can use it again  now and as we can see we now no longer have a
  3915. 7:26:52test database it's been deleted and since we have  decided to work with with the students database we
  3916. 7:26:58have to use it that is we must indicate that yes  we will work in this database otherwise the system
  3917. 7:27:04will swear in the future and will not understand  at all what you want it to do and which of the
  3918. 7:27:08databases that are available in this dbms you  want to work with so we write use and the name
  3919. 7:27:15of our database is students you see the database  has been modified that's it we are now inside this
  3920. 7:27:22database and to check for example if there are any  values inside this database meaning some tables
  3921. 7:27:30we can use this command show tables this  command shows all the tables that are in
  3922. 7:27:36our database empty set which means it is empty  because we have not created any of the tables
  3923. 7:27:45yet this is something that concerns the use of  databases how to enter it how to create it how
  3924. 7:27:55to delete it and now let's go directly to work  with tables for this we also have a list of our
  3925. 7:28:03commands that we can use our queries let's first  create some table to do this we should use the
  3926. 7:28:11create table command and then enter the name  of our table that we want to create within the
  3927. 7:28:18students for example let's call it courses  and let's go to the next line so that it's
  3928. 7:28:27more clear to us what we should do next next we  open the brackets and start writing the name of
  3929. 7:28:36our columns the name of our Fields uh and the type  that will be applied to that field for example for
  3930. 7:28:45coures let's come up with a column like faculty  that is our faculty let's not even start with it
  3931. 7:28:54but uh let's start with the Ed since we have  to have a primary key next we write the data
  3932. 7:29:03type in our case it will be integer that is  integers numbers then we write the number of
  3933. 7:29:12numbers that can fit inside our field that is  inside this value that will be in the string
  3934. 7:29:18for example we can have a maximum of 11 numbers  in our string in our record and we write that
  3935. 7:29:26it's well that is it should always be filled  in this string this record and that these are
  3936. 7:29:34our primary keys so we also specify right away  in the system with ubd that this is the primary
  3937. 7:29:41key and let's come up with the fields like I  said this is going to be faculty here we're
  3938. 7:29:47going to use a varar which is our string  Let It Be 55 characters maximum and let
  3939. 7:29:55it be for example at the moment it's zero  so this entry can be empty what else can
  3940. 7:30:02we think of for courses and let's write  let's not invent some very complicated
  3941. 7:30:08tables and we are going to have an  integer here as well let's have two
  3942. 7:30:17numbers at most also let it be zero  our query has been processed now we
  3943. 7:30:24can see what values we have in this table  for this purpose we use the most famous
  3944. 7:30:30select statement with which any learning of  SQL begins but we'll talk about them with you
  3945. 7:30:37a little bit further just so you know it's a  select an ASAT from and then the name of our
  3946. 7:30:43table our table is called courses don't  forget the semicolon Yes I know what my
  3947. 7:30:56mistake is it's that we don't don't have  any values in our table yet so let's start
  3948. 7:31:04by checking the description of this table  What fields we have there and what Fields
  3949. 7:31:09contain what types of data to do this we  use such a query as desk and the name of our
  3950. 7:31:16table yes and now we can see what fields we have  in our table what data types these fields have
  3951. 7:31:29and whether they can be used for the table uh  whether there are null values there or not the
  3952. 7:31:34ID field is our primary key and default values are  also written here this way we can see the table
  3953. 7:31:41description if we need to know in which fields we  can use which data we can also delete tables just
  3954. 7:31:50like we can delete databases but let's not delete  our beautiful students table that we create and
  3955. 7:31:56there's also the same command as deleting database  is there's deleting the tables themselves also
  3956. 7:32:04with our commands which are quite similar with  the keyword drop so we write drop by table and
  3957. 7:32:11the name of our table and the table is deleted  let's not delete the students table anymore and at
  3958. 7:32:17your leisure you can also practice creating some  tables and deleting them that is this command is
  3959. 7:32:24not complicated now our table as you and I have  already seen when we performed our select that
  3960. 7:32:31is in this case we asked to show all the values  from of the course's table I mean it is also very
  3961. 7:32:39simple we don't have any data here yet so let's  create this data to do this we use a command
  3962. 7:32:48a query known as insert into we need to insert  some values into our table the next thing we do
  3963. 7:32:55is we write the name of our table which is courses  then we write values which are our values and what
  3964. 7:33:02you need to pay attention to is the order of our  Fields inside our table that is the first field is
  3965. 7:33:11ID the second is faculty and the third is number  and in the same order we enter values into these
  3966. 7:33:20fields so the first ID we have will be one and yes  I wanted to point out that in faculty we use our
  3967. 7:33:30Word chart here that is we use letters here it's  a string format and so we need to enclose it en
  3968. 7:33:38quotes it's a value just like we did when we were  learning Json if you have forgotten what this is
  3969. 7:33:46you can go to the API lesson the Practical part  now the link will appear in the description and
  3970. 7:33:51a little bit of refresh your memory but for SEC  ql and in general for any programming languages
  3971. 7:34:00remember that string values alphabetic values  are always enclosed in a quotation mark let's
  3972. 7:34:07think of a bio my favorite biology Department if  you haven't passed I graduated in the number of
  3973. 7:34:15our course let it also be one and put a semicolon  we have our first value created and we can also
  3974. 7:34:23add as many values as we want or database yeah so  that I don't make too many mistakes I've created
  3975. 7:34:32some more values here and now we can look at  our table display the values that are contained
  3976. 7:34:39there and as we can see the table is filled we  have five values with our unique IDs primary
  3977. 7:34:50keys of our five faculties and five courses next  we will look at such an aspect as deleting certain
  3978. 7:34:57values from our table when once again there is  nothing complicated here it uses the keyword
  3979. 7:35:03delete from again we use the name of our courses  table and if we stop here then all the values from
  3980. 7:35:12our table will be deleted however we don't want  all our values to be deleted and uh generally I
  3981. 7:35:20would like to draw your attention to the fact that  you should always carefully look at these keywords
  3982. 7:35:25especially delete and drop because you can drop  your some very important database that way usually
  3983. 7:35:32of course rights for testers are restricted  to some really serious databases for example
  3984. 7:35:38if you're working on prod but a lot of people  have limited rights on prod in general so there
  3985. 7:35:44most likely unless some fools are working with  databases then those rights are not restricted
  3986. 7:35:50there but still pay attention to it do not forget  for example if we use the command from our table
  3987. 7:35:57some information if we want to delete then we  must somehow specify this case with the help of
  3988. 7:36:03the word where that is where and here we write the  name of our field and the value so for example we
  3989. 7:36:09want to remove information about the humanities  faculty so we write that where faculty a is equal
  3990. 7:36:16[Music] to and the GU value now let's go ahead  and run onun our Command to see what remains
  3991. 7:36:32in the table as we can observe our gu value has  been successfully deleted in this straightforward
  3992. 7:36:39manner we can remove our records from the  table the next topic I would like to explore
  3993. 7:36:46is modifying and existing excused upon value in  our table this can be achieve by using a command
  3994. 7:36:54such as update we aim to update certain values  in our table table specifically the name of our
  3995. 7:37:01[Music]
  3996. 7:37:10table for instance we aim to replace  the value of Gio in poly faculty
  3997. 7:37:23we want to set a value for it example  once more let's use our favorite gu V
  3998. 7:37:33faculty equals go now we have to replace  that value let's remove select all from
  3999. 7:37:40courses as we can see the goo value  has been replaced by the gum value
  4000. 7:37:46we use the keyword update so it's not that  complicated either finally the last thing I
  4001. 7:37:53wanted to cover today is when we want to add  a column to our table for example or delete
  4002. 7:38:00it let's start by deleting our column specifically  we want to remove our ID column to achieve this we
  4003. 7:38:25use a keyword like iter table followed by the name  of our table then the keyword drop we have already
  4004. 7:38:33learned this word before next we use column  which signifies a column and finally we specify
  4005. 7:38:39the field we want to delete which in this case  is the ID as we are about to observe it will be
  4006. 7:38:47deleted yes so now we don't have the ID  column anymore and now you and I want to
  4007. 7:38:59add back our primary key to accomplish this  we use once more alter table followed by the
  4008. 7:39:06name of our table which is courses then add  column ID integer and the name of the field
  4009. 7:39:15behind which we want to place our new column  alternatively we can use the words first or
  4010. 7:39:21second if we are certain that this column should  be positioned first however let's choose to
  4011. 7:39:29that place it behind the number our  Command has been successfully executed
  4012. 7:39:35now let's proceed to verify the command  our identifier has indeed been added
  4013. 7:39:59[Music]
  4014. 7:39:59[Music]
  4015. 7:39:59your homework is as follows install Seagle  server as I demonstrated and create some
  4016. 7:40:09test tables make sure to remove values  from them add values modify delete tables
  4017. 7:40:15and delete databases basically experiment with  all of this practice and remember how we do it
  4018. 7:40:22since various queries are often asked in job  interviews you need to be able to write them
  4019. 7:40:33[Music]
  4020. 7:40:34the queries that we've looked at today may not  be asked that often in job interviews but here
  4021. 7:40:40are the next ones select and join especially the  first selects at almost every interview you will
  4022. 7:40:46be asked to write these queries that is you'll  be given some kind of spreadsheet with data in
  4023. 7:40:52it and based on the job for example please show  us the value from such and such a field in such
  4024. 7:40:59such a table where these values are greater than  five for example this will be the task and you
  4025. 7:41:06will have to analyze this all quickly and write  a select which would allow you to Output values
  4026. 7:41:12because today we output values absolutely  all from tables but there you will somehow
  4027. 7:41:17specify this case and we will talk to you about  it of course in the next lesson that is the next
  4028. 7:41:21lesson let's get ready again download ql server  for yourself learn it today I want wanted to show
  4029. 7:41:29you a way to practice and even before the next  class learn how to write some selections using
  4030. 7:41:37different conditions go to lety schools.com select
  4031. 7:41:44SQL and you'll find a huge number of  different queries what's good about
  4032. 7:41:50this site you get general information not  the types of queries and you can directly
  4033. 7:42:04to attempt writing these queries that is there  are numerous test databases here that you can
  4034. 7:42:10effortlessly work in and learn SQL on your  own additionally as you can observe at the top
  4035. 7:42:17there are identical simulators for mail email CSS  JavaScript python PHP and all these things so you
  4036. 7:42:26can certainly read all of that click around if you  wish to learn something additional you always ask
  4037. 7:42:33me about where to practice and this resource is  fantastic for you I will not use it specifically
  4038. 7:42:39in this lesson and in the next ones because  you and I would rather learn how to create some
  4039. 7:42:43tables ourselves enter data into them and not use  readymade Solutions basically that's all I have
  4040. 7:42:51for now thank you very much for your attention I  will be glad to have your likes and subscriptions
  4041. 7:42:56if you are on this channel for the first time  and you are interested in the topic of testing I
  4042. 7:43:01would like to remind you that I have course tester  from scratch which is posted on this channel it's
  4043. 7:43:08constantly being updated we've got a few more  Skillet classes ahead of us then we will touch
  4044. 7:43:13on such a topic as Testing mobile applications  and finish everything on a good note on agile
  4045. 7:43:19on scrum that is we will learn and find out what  it is and already with all this knowledge I think
  4046. 7:43:25you will be ready to be interviewed you can also  safely respond on to various vacancies and try to
  4047. 7:43:32go for an interview even if you will be rejected  I would still advise you to go through different
  4048. 7:43:40interviews learn uh memorize some slippery  questions as they are often caught in other
  4049. 7:43:45interviews and pump yourself up because when you  already go to five or even a dozen interviews you
  4050. 7:43:52will already have an idea of how they are held you  will not be particularly nervous and I think you
  4051. 7:43:58will successfully pass it and get your first offer  that's what we are all here for that's what we are
  4052. 7:44:04learning and all the information I give you is  for this final amazing result Welcome to our tent
  4053. 7:44:13bye [Music] hello YouTube today we are continuing  our deep dive into database testing and my squal
  4054. 7:44:35we will talk about the selections that are most  often asked in interviews and break down the basic
  4055. 7:44:40queries that you will need to learn and practice  writing in order for you to be successful in your
  4056. 7:44:47interview if this is your first time joining this  lesson I would like to remind you that I have a
  4057. 7:44:55course called tester from scratch in which we  already had two lessons focused on database
  4058. 7:45:01testing now the link to these lessons will  appear at the top well let's get started
  4059. 7:45:11and let's take apart first the most standard  our very first phrase so to speak our query
  4060. 7:45:18this is the output of all values from our  table but first of all let's remember our
  4061. 7:45:24previous queries that we've looked at  in the last lesson this is to show all
  4062. 7:45:29our databases that we have and we need to  select the uh database that we are going
  4063. 7:45:35to work in we're going to use the same database  which is students I hope you manag to download
  4064. 7:45:43and install Su server so we can all work on the  same page you can follow along in parallel to
  4065. 7:45:50practice the technique immediately we've logged  into our database and here we have a table named
  4066. 7:45:57courses which is what we will'll be working  with so let's first retrieve all the values
  4067. 7:46:03from this table from the courses table here we  have three fields or columns faculty number and
  4068. 7:46:09ID that is all the data that we have in the  table can be outputed with the help of such a
  4069. 7:46:20query also known as an operator here we have our  keyword select the value and and and our table
  4070. 7:46:29from which these these uh uh values are  outputed furthermore for instance if we do
  4071. 7:46:35not want to see duplicate Fields like when we  have two duplicate fields in number we do not
  4072. 7:46:43want to see all the freshmen but rather only one  record that contains this value to do this we have
  4073. 7:46:52to enter the following query select distinct  memorize this word we will need it to separate
  4074. 7:46:59at all the duplicates in the field we  will take our number and the name of the
  4075. 7:47:04table as a result as we can see we cut  off duplicate values and we see only
  4076. 7:47:13what does not contain duplicates next  let's analyze such a command as limit
  4077. 7:47:21that is for example we want to display  only the first two rows of from our table
  4078. 7:47:29most often your database does not consist of just  these five rows or five records instead there are
  4079. 7:47:37usually hundreds and sometimes even thousands of  values therefore we don't need to work with that
  4080. 7:47:43many values all the time let's focus on outputting  only the first two records to achieve this we use
  4081. 7:47:49the following command select all values from  courses the limit is the keyword that will
  4082. 7:47:54determine how many rows we want to see followed  by the number of rows as a result we will only
  4083. 7:48:00have the first two rows outputed so we can for  instance eliminate unnecessary values and focus
  4084. 7:48:09only on what we are interested in additionally  there is a uh feature known as aliases or aliases
  4085. 7:48:18these are temporary names for our fields for  example we might not want the number field
  4086. 7:48:24to be displayed as number but for instance as  the name number to achieve this we write select
  4087. 7:48:31number as number from the name of our table  and remember to always put a semicolon at the
  4088. 7:48:37end in the end as we can see we have a  name change but this is just temporary
  4089. 7:48:53if we now apply our select whole values from  courses we will notice that the name of of our
  4090. 7:48:59field has not changed that is to say we can  assign some values for instance if we create
  4091. 7:49:05some complex queries then we can rename them  to make it a bit clear what exactly we are
  4092. 7:49:11doing the next thing I wanted to go  over with you is a comparison or the
  4093. 7:49:22exact match of some values so we have  our select statement and we want to pull
  4094. 7:49:28some field from a table the name of our table  and we have to assign some condition that we're
  4095. 7:49:35going to look for these values for example  let's find and select the faculty number
  4096. 7:49:42here we will get two fields or two columns  from the courses where faculty and make
  4097. 7:49:48sure we use bio quotes this is important  because it ensures accuracy in our query
  4098. 7:50:05and as we can see here we enter those columns and  those specific fields that we are interested in
  4099. 7:50:12such as faculty and the number provided we have  faculty equal to bio also in this case we can
  4100. 7:50:19use the greater than sign the equal sign greater  than or equal to or less than or equal to so for
  4101. 7:50:25example we can select the number from course our  Es as you realize we can only use greater than
  4102. 7:50:35or less than for numeric values that's why we use  the number here where the number is greater than
  4103. 7:50:42one and as we can see we have only found  values for course numbers that are greater than
  4104. 7:50:54one I also wanted to point out that  when we use greater than or equal to
  4105. 7:51:01or less than or equal to we write the  greater than equal sign first and the
  4106. 7:51:06same for less than equal it is in that  sequence so that it works for us that's
  4107. 7:51:12the thing about comparisons and we can also  use different logical operations like and or
  4108. 7:51:20or that is if we are talking about end then  we must have two conditions that we set if we
  4109. 7:51:31speak about or or in translation from English  it is or then we have either one condition or
  4110. 7:51:40the other being met and these values are then  output let's check this out together select
  4111. 7:51:47let's output everything from courses where  number equals one and faculty equals bio
  4112. 7:51:54as we can see only the values where the faculty  number is one and in faculty the value is bio or
  4113. 7:52:03output as you can see we also have the theological  faculty including in the table where we also have
  4114. 7:52:31course number one but this value is not displayed  because it doesn't meet the criteria for instance
  4115. 7:52:38if you and I were to use the value o here and for  example The Faculty gum then we would have all the
  4116. 7:52:45values displayed where we have course number one  and where we have the faculty name gum Unitarian
  4117. 7:52:52that is either this condition or the other must  be fulfilled that's the reason why we have values
  4118. 7:52:58output in this manner this is as far as the  logical operations are concerned the next
  4119. 7:53:06aspect I'd like to examine is finding similar  values for instance we want to locate words
  4120. 7:53:13that have the letters all at the end in that  case we need to use this type of query and the
  4121. 7:53:20keyw we use is like that means let's retrieve  all the values from courses where faculty and
  4122. 7:53:29as I mentioned before we want  to have the letter O at the
  4123. 7:53:33end here we can do two ways if we're not  interested in the number of characters that
  4124. 7:53:43will come before this letter O we use the percent  sign put o and run our query and for some reason
  4125. 7:53:51we didn't find anything why didn't we get anything  because I didn't use the like keyword so we
  4126. 7:53:58repeat our query as you can see I have already  run it several times here to refresh my memory
  4127. 7:54:06in general what is going on and it was only  the fourth query that I realized that I did not
  4128. 7:54:12use the word like it happens when faculty is not  equal we should enter like yes now we will discuss
  4129. 7:54:19underscores by the way this is the last this is  the final query as we observe two values appeared
  4130. 7:54:28bio and Teo from The Faculty field with the final  letter O so everything worked correctly for us now
  4131. 7:54:36when we talk about the underscore the underscore  always represents one character that is not
  4132. 7:54:45present so we can use it for instance if we want  it to show us only those values that end in iio
  4133. 7:54:58then we enter the underscore followed by EO and  as expected we are shown the bio so just one
  4134. 7:55:08character is replaced with this underscore we can  also combine these with each other so for example
  4135. 7:55:14we might be interested in a query like this the  first letter we have one we do not care what it
  4136. 7:55:23is then there should be the letter and and then a  percent sign that is it does not matter how many
  4137. 7:55:30characters come after we run it and it shows  us tail that is also nothing complicated as
  4138. 7:55:38you and I can see it is very convenient to use  so remember we search for similar values using
  4139. 7:55:45the keyword like then we can also search for some  ranges for example in order not to write very many
  4140. 7:55:53times conditions that for example where number is  one and number is two and and number equals 3 and
  4141. 7:56:00number equals 4 and so on add infin item you can  make it easier for instance if we are interested
  4142. 7:56:07in a range from two to four then we can write  the following query please show me all values
  4143. 7:56:16from courses where number the keyword is between  and we write the values we are interested in from
  4144. 7:56:25two to four and two and from let's run it it and  as we can see we are shown only those fields in
  4145. 7:56:32which the condition matched that we would have  in the range from two to four that is the ones in
  4146. 7:56:38the we are not shown here we can also look  here from the contrary that is we need on
  4147. 7:56:48the contrary to show those values that  are not within the range from 2 to 4 to
  4148. 7:56:55do this we use the word not after dou so  we're not a number between two and four
  4149. 7:57:01we run it and we are shown only our ones  also as you and I can see it's nothing
  4150. 7:57:08complicated it also works with other words  just remember to place the word not after
  4151. 7:57:15where and again as we can simplify our  life if we are interested not in a range
  4152. 7:57:24but in hitting some specific numbers we  can use the keyword in that is in this
  4153. 7:57:32case we use the word in that is show  me all the values from courses where
  4154. 7:57:41number in um and these values we have to  spell out through commas in parentheses
  4155. 7:57:48for example we are interested in  the values 1 and four that is we
  4156. 7:57:53will now be shown those values in which  we have an equal number of one and four
  4157. 7:57:58as you and I can clearly see everything worked  correctly and we didn't need to write a huge
  4158. 7:58:03canvas with numerous conditions you and I can also  combine various logical functions like this that
  4159. 7:58:12is we are interested in some pair of values which  is not important meaning it can be either this or
  4160. 7:58:20that and some value is mandatory that is we can  use this type of query in other words show me all
  4161. 7:58:28values from courses where we open our bracket  write the value for instance faculty is equal
  4162. 7:58:35to TA or faculty equals bio and number  equals 1 here we are shown all the values
  4163. 7:58:51that will meet all these conditions so we  remember that we can also combine these
  4164. 7:58:56logical functions among themselves there  are literally a few aspects left that I
  4165. 7:59:01wanted to cover today firstly our sorting for  instance we want to sort all the values in our
  4166. 7:59:07table we want to sort them in alphabetical order
  4167. 7:59:33for this we use the keyword order Bay and if  we want to use alphabetical order then we do
  4168. 7:59:40not need to write any additional conditions or  additional words but just the field by which
  4169. 7:59:45we want to perform this sorting let's sort by  faculty this is the so-call ascending order
  4170. 7:59:53that is in alphabetical order and as we can  see we have sorted alphabetically if we want
  4171. 8:00:00to do this same sorting in reverse order  we have to use the word desk abbreviated
  4172. 8:00:06to descending and we have reverse sorting we  can specify the fields we are interested in by
  4173. 8:00:16which it should be performed Additionally the  last aspect we need to consider is aggregate
  4174. 8:00:22functions this includes the sum which  gives us the minimum and maximum values
  4175. 8:00:28count which tells us the number of Records  filled and average which calculates the
  4176. 8:00:34average value for instance if we want to select  the average value for the number field we use
  4177. 8:00:41our favorite select statement we then write  the name of this aggregate function which is
  4178. 8:00:45average the field by which we desire to  find this average value value in our case
  4179. 8:00:59is number and the name of our table we have  successfully calculated the average value
  4180. 8:01:05for PO number if we wish to calculate the  sum it operates in a similar manner select
  4181. 8:01:12some poly number from courses and we have  computed the sum in this particular field
  4182. 8:01:28what else can be done here you can for instance  find the minimum value in the field like a number
  4183. 8:01:34that is once again select mean in the number  field we can assign it some value that we would
  4184. 8:01:40like to see some Alias we use the S keyword  for this purpose let's call it minan number
  4185. 8:01:47from courses and here it is uh replaced by  an alias the minimum value we have is one
  4186. 8:01:58and we are shown it the same thing applies to the  maximum but I won't show you it works in a similar
  4187. 8:02:04Manner and additionally you and I can also  output the number of records that we have
  4188. 8:02:20filled with some values so how this works is  we output for example select count by faculty
  4189. 8:02:27let let's go uh from courses we have here five  values and they are all filled meaning we do not
  4190. 8:02:35have any zero or empty spaces so five records  They are filled and uh this table shows us that
  4191. 8:02:44there are five essentially these are all the basic  selections the basic queries that you need to know
  4192. 8:03:01your homework assignment will be as follows first  go through the floor I showed you today if you
  4193. 8:03:09have any other tables created go through those  tables and practice each of those Cy types also
  4194. 8:03:18go to the W3 schools website under the cql tab  and practice all of these selections there as well
  4195. 8:03:25Additionally you can so to speak Aster risk to go  through the other selections that are available
  4196. 8:03:31there well I think these are all enough for  you to write your interview requests when you
  4197. 8:03:43get your assignments I will see you at the next  session it will be devoted to joins so get ready
  4198. 8:03:49practice get your hands full and I in my turn  will say my catchphrase Welcome to our 10 bye
  4199. 8:03:58[Music]
  4200. 8:04:07bye hello YouTube today we have the final session  of the database testing block and I'm going to
  4201. 8:04:25explain to you about join and queries like this  additionally we'll delve into how subqueries
  4202. 8:04:35are nested just a little bit so you understand  how we can locate the data we need using extra
  4203. 8:04:41conditions but before we dive into this topic I  also want to tell you about the UI component of
  4204. 8:04:48rql and how you can aside from the command line  utilize the tools that my SK offers us absolutely
  4205. 8:04:57free fre of charge for this we need to download  workbench now I will show you exactly how to do
  4206. 8:05:04it most likely you have our myql installer left in  your system and if you run it you need to wait a
  4207. 8:05:11little time I've already done this ahead of time  so as not to waste your precious minutes you'll
  4208. 8:05:17get a screen like this that tells you which  MyQ products you already have installed since
  4209. 8:05:23I already have workbench installed it is displayed  here you will just have one line with the my skull
  4210. 8:05:30server so what do we need to do next to configure  the workbench well you need to click on the add
  4211. 8:05:38button here you will see all the available  products that we can install and use you can
  4212. 8:05:44read about each product separately to understand  what it is there are quite a lot of them here also
  4213. 8:05:50here you will find uh various samples and  examples for your work these include ready
  4214. 8:05:57made databases and tables with test data that  you can also use you can download them from here
  4215. 8:06:04as well but we're going to be interested in names  applications we open it we choose MySQL workbench
  4216. 8:06:11and we choose here is the only option it is to  install my S workbench and the latest version
  4217. 8:06:16because I already have it installed so I have  everything here but you choose you click next this
  4218. 8:06:22application is installed and you can work with it  that is there are no problems peing in a enjoyable
  4219. 8:06:30manner after that we can close the installer and  run our my workbench when it starts you will have
  4220. 8:06:39your local instance here which you have already  prepared and probably worked with before you
  4221. 8:06:44click on it and it prompts you for a password  I believe you have a standard root password
  4222. 8:06:53which you can save so that the system does not  ask you for it in the future then it opens an
  4223. 8:06:58application where you can enter the queries that  we have studied and will'll continue to study
  4224. 8:07:03today how do you do this to enter the  query for instance show datab basis you
  4225. 8:07:14need to do more than just press enter simply  pressing enter will not work you must click
  4226. 8:07:20on the lightning bolt icon to execute this  query and then we are shown all the database
  4227. 8:07:27just like we had in Comm online which we have  speaking in a enjoyable manner furthermore we
  4228. 8:07:36can write the database that we are going to use  and for instance see what values we have in the
  4229. 8:07:44courses table that we have what is convenient  about this tool is that first of all it shows you
  4230. 8:07:53errors if you enter something incorrectly right on  the UI it also prompts you for some keywords that
  4231. 8:07:59you can use in tables to substitute which is quite  convenient another good thing is that you can run
  4232. 8:08:06these commands all at once that is in this way or  individually by highlighting a given command and
  4233. 8:08:13clicking on the lightning bolt icon basically  that's all you should be interested in at the
  4234. 8:08:20moment in this software memorizing workbench  is very handy probably more accessible than
  4235. 8:08:28in common line here you can see it all at once  and everything is quite clear so let's continue
  4236. 8:08:34our work here today so that you get used to this  application a little bit but before that let's see
  4237. 8:08:41what joins are in general what kind of queries are  they joins are queries that allow us to join two
  4238. 8:08:50or more Tables by some field that is the same in  these tables that is if we need to join multiple
  4239. 8:08:58similar tables in the same database we can use  joints there are three types of joints inner
  4240. 8:09:04join right join and left join for our convenience  I found these schematics to explain to you how it
  4241. 8:09:13works the simplest join is an inner join that is  an internal join that is if we have two tables
  4242. 8:09:21and there is a field that is identical for A and  B and the values in it are the same then we can
  4243. 8:09:29perform such an inner join that is one table joins  to the other table let me use an example to show
  4244. 8:09:37you what this looks like that is the query itself  looks like this this is our normal select we have
  4245. 8:09:45to enter the fields that we want to combine next  I'll explain why table a is written here table
  4246. 8:09:51B is written here from table a join table a with  table B End by the field by by which we are doing
  4247. 8:09:58this join let's look at an example first let's  take a moment to see what tables we even have
  4248. 8:10:06in our database under students to do this we're  going to use the show tables query and run it as
  4249. 8:10:12of now we have two tables courses and general that  is as you and I remember courses is the table we
  4250. 8:10:19created in the previous two lessons and general is  the table I create additionally so that we could
  4251. 8:10:27merge values from these two tables now let's take  a closer look at the values present in the general
  4252. 8:10:35table we have four Fields here our ID first name  last name age and gender and now we can focus on
  4253. 8:10:52this ID field since we also have the ID field in  the courses table we can and merge our values what
  4254. 8:11:01is really good about using this application  is that we can for example run two queries
  4255. 8:11:06simultaneously and we will end up with two tables  one will contain the general table and the other
  4256. 8:11:13will have the courses table so let's get right  down to business and merge these values together
  4257. 8:11:28see first we write our word select  and then we write down the values
  4258. 8:11:33we want to Output however it is absolutely  necessary that before each value before its
  4259. 8:11:39field we need to write the table that  contains it that is we write that in
  4260. 8:11:47the table courses for example we will be  interested in let's see what we have in
  4261. 8:11:52courses faculty and let's have let's just  have faculty we've only got two fields
  4262. 8:11:57here and in the general table we're going to  be interested in for example first name and
  4263. 8:12:11last name so we write General first name  and general last name next we write our
  4264. 8:12:19table which is a from courses and then join  specifying which table we will join General
  4265. 8:12:24to additionally we have to write the value we  are going to match for us it's IDs therefore we
  4266. 8:12:32write courses it equals General it first  finally we close our point with a comma
  4267. 8:13:03let's run it and see if it works yes we did it as  we can see we have just merged the values where
  4268. 8:13:15IDs coincide and the Common Table is displayed  that is now we can find out which faculty a
  4269. 8:13:20person studies it let's run three queries  simultaneously and see how it works in detail look
  4270. 8:13:27we have we have the general  table where the ID number is
  4271. 8:13:32six and in the courses table there is  H neck 7 since we don't have the same
  4272. 8:13:49values of for six and seven in these two tables  our resulting table in which we did the merge
  4273. 8:13:57will not have these two rows that's why  left and right join come to our eight
  4274. 8:14:02let's see how they work that is there  is nothing complicated here either in
  4275. 8:14:07a left join we merge as if by our left table  while in a right join we merge by our right
  4276. 8:14:12table that is we will have all rows from table  a displayed even if they are missing table B
  4277. 8:14:24and similarly for the right hand side merge  we will will be shown all rows from table B
  4278. 8:14:30even if they are absent in table a so what  we're discussing now is our icons the left
  4279. 8:14:39join and right join primarily depend on  how you configure these tables and write
  4280. 8:14:43your query the resulting table joints will also  be influenced by this so let's take the time to
  4281. 8:14:50run these two queries together and observe with  a real example how they differ from one another
  4282. 8:14:57first let's begin with the left join we  will select the fields we are interested
  4283. 8:15:01in courses number General first name and  general gender from our first table which
  4284. 8:15:08we will call tab a we have courses apologies  I meant to say courses then we join this with
  4285. 8:15:15our second table general based on the already  known fields that can provide us with a match
  4286. 8:15:21yes we need to ensure we add left here to  specify the type of join we are using using
  4287. 8:16:06and now let's take a look at uh
  4288. 8:16:09result observe how our query has worked we  have a table called courses meaning all the
  4289. 8:16:18rows from this table will be displayed even  if they do not appear in table B we can verify
  4290. 8:16:23this together now so we have an ID number ending  with a seven which corresponds to physical four
  4291. 8:16:32if you and I check we can see this four right  here however since we do not have the same ID
  4292. 8:16:40ending with a seven in general these values  are recorded as nullable which means they are
  4293. 8:16:47null but uh as we know left to right join shows  all rows from a even if they are not in B so we
  4294. 8:17:02just replace B with null values if we compare to  our table that we did just an inner join here we
  4295. 8:17:11have five values and there was only a match on  our IDs that are in the two tables where are those
  4296. 8:17:18values we have six and now let's perform the join  operation for the right join for this we are going
  4297. 8:17:26going to use our select again this time let's  also output the ID pin General let it be the first
  4298. 8:17:34name General the last name General the gender  and let's add some more courses faculty right
  4299. 8:17:43from courses the right. jooin dogen on courses  General it and then uh we will run our query
  4300. 8:18:04for
  4301. 8:18:34this is causing an error because I didn't  write it correctly let's execute our query
  4302. 8:18:41and what do we observe we now have data  on the sixth ID on the sixth ID which
  4303. 8:18:49was missing in the courses table however  since we performed a right join we we are
  4304. 8:18:57presented with all the values from table B  the general table if we examine the order
  4305. 8:19:03we can see it right here even though this  specific ID number is not present in table
  4306. 8:19:10a this is how our joints work in principle  there is nothing complicated perhaps there
  4307. 8:19:20are some difficulties with readability and syntax  of writing the queries but again this is a matter
  4308. 8:19:29of practice so you need to practice these joins at  home on our favorite site W3 schools that is where
  4309. 8:19:38we practice it all there are already readymade  databases there you don't even have to use my
  4310. 8:19:47ckl workbench and other gadgets let's put it that  way so let's go over there and practice practice
  4311. 8:19:53practice because in job interviews they might ask  for joints more often than not they just ask for
  4312. 8:19:58selections but I would like to draw your attention  that there can be tasks we an asterisk and joints
  4313. 8:20:07and if you do them it's a big plus for you and the  last aspect that I would like to go over with you
  4314. 8:20:12is nested subqueries what are these in general  what are they for for example if we are unable
  4315. 8:20:18to use our single select and the conditions we  specify need to Output the values that we are
  4316. 8:20:26interested in we can use another select within  our query to understand how this all works let's
  4317. 8:20:33look at an example let's consider our second  table General where we have many more fields
  4318. 8:20:40and records and come up with a complex query  let's call it that to accomplish that we would
  4319. 8:20:48like to Output the first name the last  name and the gender for instance let's
  4320. 8:20:56also include the ID taken from General where H  and let's devise another query that our H field
  4321. 8:21:04should also utilize select in order to Output  it let's choose H from General where let's
  4322. 8:21:11specify ID greater than one and first name not  first name and age greater than or equal to 21
  4323. 8:22:00this is the query that we have and let's run it  together with a query that shows us all the values
  4324. 8:22:09from General that's what we get now let's see if  we really got what we were interested in first we
  4325. 8:22:16wanted to get the first name last name gender and  ID fields from our spreadsheet where age matches
  4326. 8:22:23the following aspects ID is greater than one and  age is greater than 21 we need to ensure that our
  4327. 8:22:30query captures these specific details accurately  by doing so we can confirm that uh our data
  4328. 8:22:37extraction is precise and meets our requirements  let's see age is greater than 21 that is greater
  4329. 8:22:44than or equal to 21 so what we have here is Alan  Peter and Jack they have IDs greater than one so
  4330. 8:22:54those are the three values that we should have  here yeah that's really it so if we can't use one
  4331. 8:23:01query and the conditions that we write in it to  Output the values that we're interested in we use
  4332. 8:23:08nested queries yes most likely this query that we  have written is not so indicative but in principle
  4333. 8:23:17in interviews when you need to do something and  you are unsure how to achieve it with a single
  4334. 8:23:23selector you can actually use another selector  within it this is a useful technique that can
  4335. 8:23:28make your work much easier so here is a little  tip on how to accomplish this task you and I
  4336. 8:23:33have collaborated very fruitfully over these four  classes we have learned a variety of important
  4337. 8:23:37skills such as how to install a SQL server and how  to install workbench workbench is a very powerful
  4338. 8:23:42tool that allows us to digest and present in  a more readable and understandable way the
  4339. 8:23:48information that we can extract from our databases  and the tables that they contain also you should
  4340. 8:23:52learn the most popular selections that you 100  100% will need during a job interview if they want
  4341. 8:24:00to check you out and suddenly they really like  you your robot employer they will want to know
  4342. 8:24:07that you have more knowledge so make sure to learn  join and how they are written additionally learn
  4343. 8:24:14how to create tables and how to modify the data  within them this is also quite useful if you need
  4344. 8:24:20to complete test tasks or come up with test data  directly at your work in the workplace I hope you
  4345. 8:24:27enjoyed this block of classes in the next lesson  we will start Testing mobile applications this
  4346. 8:24:36will be the penultimate block before we finish  this course all together all that will be left is
  4347. 8:24:42agile and that's basically it I think that by the  end of the Fall you and I will have finished the
  4348. 8:24:49course tester from scratch and then there will be  more courses more classes more realization of your
  4349. 8:24:55wishes so please be sure to write in the comments  what else you would like to see on the channel
  4350. 8:25:02I'm outlining everything memorizing everything  I have a separate Trello table where my let's
  4351. 8:25:08say content plan is so everything you mention will  definitely be implemented to some extent I remind
  4352. 8:25:16you that I have a telegram which also contains  a lot of useful things such as free courses
  4353. 8:25:22links to them or my thoughts out loud which  will help you to adapt a little bit in the it
  4354. 8:25:28sphere uh and helpful articles that you  can read as well and Instagram where you
  4355. 8:25:36can also ask your questions there I also  try to periodically post post related
  4356. 8:25:43for example to test artifacts that we for  example here do not consider in our course
  4357. 8:25:50and I try to communicate with you there as  well so if you are interested please join
  4358. 8:25:56other social activities that are related to this  Channel and its author Welcome to our tent [Music]
  4359. 8:26:11bye hello YouTube today we are continuing our  tester from scratch course and we're starting
  4360. 8:26:24an intriguing new unit on mobile app testing that  many of you have been requesting for a very long
  4361. 8:26:29time there will be a few lessons where we will  delve into and understand in general what mobile
  4362. 8:26:36applications are how to work with them how to  select the appropriate tools to work with them how
  4363. 8:26:42to operate within those tools and how to install  them on your computer how to test a mobile app and
  4364. 8:26:50what specific checks we should use I'll also share  some uh cheat sheets and check list to help you
  4365. 8:26:57conduct your checks quickly in the future all of  this in just a few lessons so plugin and explore
  4366. 8:27:03is going to be very interesting let's start with  some theoretical background I'll give you some
  4367. 8:27:10context and what's the very first thing  we should do before we start Testing
  4368. 8:27:19mobile apps of course we need to choose  the platform we want to develop on the
  4369. 8:27:26devices we want to use and the form  factors that means we need to gather
  4370. 8:27:30the right statistics usually of course this  task is not done by the testers but you might
  4371. 8:27:37also be involved in these matters because you  are the one who will need to conduct this very
  4372. 8:27:42testing so the first thing we'll discuss  is collecting statistics on mobile devices
  4373. 8:27:50where can this be done first we have two official  Resources with all the information for Developers
  4374. 8:27:56of mobile apps whether for Android or  iOS the two most popular platforms I'll
  4375. 8:28:03provide links to those sites so you can  explore and find all the information you
  4376. 8:28:09need what will interest us here first on  developer android.com we are interested
  4377. 8:28:21in information about platforms  do unfortunately this information
  4378. 8:28:26is not displayed here right now as you can see  uh it says here that uh we can find information
  4379. 8:28:32about the required versions and Platforms in  Android Studio next I'll tell you about Android
  4380. 8:28:37studio and when we install this tool we'll be  sure to check if we can do that because before
  4381. 8:28:44this information used to look like a pie chart  and you could see these ratios which versions of
  4382. 8:28:50Android are the most common at the moment and this  information would be very useful to us in case
  4383. 8:28:56when we were choosing this or that device for  our testing but here we have information about
  4384. 8:29:01the size of screens and their resolution that is  we can study this here as well that is all this
  4385. 8:29:07statistical information can be obtained on the  official website um there is also a similar site
  4386. 8:29:14for iOS device that is is developer.apple.com  there is also information here that is we can
  4387. 8:29:23immediately check which iOS vers versions are  the most common at the moment and also form
  4388. 8:29:31that necessary pool of devices that we will test  because not all versions of iOS are supported
  4389. 8:29:37on all phones so we need to choose the one that  is optimal for us to affect as many versions as
  4390. 8:29:43possible and further testing that is all this can  also be found and read here another good resources
  4391. 8:29:50mix panel where we collect statistics by on how  how widespread Android and iOS devices are that is
  4392. 8:30:01you can see here that for example there are more  Android devices at the moment in principle this
  4393. 8:30:07is logical since iOS devices are produced only by  Apple and Android devices are produced by almost
  4394. 8:30:14all other major companies therefore there's more  of them and here we can sort by the period we are
  4395. 8:30:19interested in so we can find out for example  how in the 2020 year this statistic changed
  4396. 8:30:26I'm not going to do that now that is I've brought  you the statistics for September through October
  4397. 8:30:3124 October and it's formed statistics take  quite a long time to form if we take a long
  4398. 8:30:36period of time so let's not waste time on that  additionally this can be downloaded and further
  4399. 8:30:42utilize to select the devices we need to test on  and if we still want to enter a more competitive
  4400. 8:30:48market where there are more users we probably need  to develop apps for the Android platform first
  4401. 8:30:57there are also other statistics available here  for instance on the distribution of iPhone 12
  4402. 8:31:03iOS 14 and different versions of various phones  you can see everything here as you can see there
  4403. 8:31:11is a lot of information here on iOS system but in  principle for your work for your interest you are
  4404. 8:31:20likely to be interested specifically in statistics  on comparing the distribution of Android and iOS
  4405. 8:31:26devices also not a bad resource is statcounter.com  that is here too you can for example find
  4406. 8:31:32information about how widespread are the models  of certain phone companies that is again to choose
  4407. 8:31:40our devices for testing we can use it and for  example realize that we need to purchase Samsung
  4408. 8:31:46and Apple phones for our work possibly Huawei  and xiaomi is the most common manufacturers
  4409. 8:31:52that is also here you can see over time how this  is a statistic also here we can select directly
  4410. 8:32:01in the country we want to reach for example if  we are interested in bellus we look at it if we
  4411. 8:32:07are interested in the United States we look for  this country for the whole world again we choose
  4412. 8:32:14for the whole world and see how it can affect us  there's also other information here that is we
  4413. 8:32:19can see for example by changing screen resolution  that is we can also find out what's screens are
  4414. 8:32:26common now and what we should use for testing  and for the development itself you can also see
  4415. 8:32:32information for example about form factors that is  how they are also common mobile tablet or desktop
  4416. 8:32:40applications all of that can be explored here a  very good resource that you can use to get the
  4417. 8:32:45statistics plus there is also such a resource app  brain basically it works in a similar way again we
  4418. 8:32:54choose the country we are interested in let's take  Greenland for example and here it is written down
  4419. 8:32:59how many phones were sold and used in this country  again so that we know which devices we should take
  4420. 8:33:05for testing also a good resource that can help  you for example in order for you to determine
  4421. 8:33:12with the necessary mobile devices if you have  for example limited budget in your company this
  4422. 8:33:19resource is good because it has information about  for example if you do not have a lot of money you
  4423. 8:33:26are just starting some for example startup and you  need to cover as many cases versions platforms as
  4424. 8:33:33possible then here I prescribe the devices that  you need to purchase the same applies to a growing
  4425. 8:33:39business of some kind or already Enterprise so you  can look at all of this here and see how much you
  4426. 8:33:45can cover those cases that are generally all over  the world most likely you will not have to do this
  4427. 8:33:55that is is it will most likely be done either  by marketers or by the customer himself or by
  4428. 8:34:01the customer when he contacts your company or by  your test lead who deals directly with all kinds
  4429. 8:34:07of Financial and Regulatory issues and they need  to filling out this Fleet of devices that you're
  4430. 8:34:13interested in but for the future I think it's  good enough to know where that information can
  4431. 8:34:19be found going back to our mind map we've talked  now about statistics and the resources that allow
  4432. 8:34:26you to do that and find the information that  you need let's now talk in general about mobile
  4433. 8:34:32apps what they are there are three types of uh  mobile applications these are native hybrid and
  4434. 8:34:39web applications let's start with you with web  applications I think that with web application
  4435. 8:34:48testing unit you are familiar with this definition  so I will not repeat it but if you are not
  4436. 8:34:52familiar with it and this is your first time here  there is a link at the top of the lesson where
  4437. 8:34:56I talked in detail about the difference between  websites web applications web services where you
  4438. 8:35:00can learn what they are to a first approximation  web applications are more hyped in terms of
  4439. 8:35:07functionality a website and basically it's  basically a website that's customized for our our
  4440. 8:35:14uh mobile apps or mobile app screens the simplest  example to me is if you and I remember our good
  4441. 8:35:21Social Network v Conta that is if we just go to  it we open a regular website uh a web application
  4442. 8:35:28for our work on the desktop but uh this website  also has a mobile version and it is the one that
  4443. 8:35:39is already adapted for mobile devices so this  has a mobile web application let's talk to you
  4444. 8:35:44now about what exactly are the pros and cons  of mobile web applications let's start with
  4445. 8:35:50the pros the web application is one version for  all platforms that is we do not need to develop a
  4446. 8:35:56separate application for iOS for Android I do not  know they are for Windows phone if it still lives
  4447. 8:36:03for Blackberry that is we do not need to develop  it all there is one version for all platforms it's
  4448. 8:36:10basically a website that is adapted to work with  a mobile device also from pluses it is possible to
  4449. 8:36:18deduce that updating of this resource is carried  out on a server that is we do not need to involve
  4450. 8:36:24users to this work every everything happens in  automatic mode and web applications are quite easy
  4451. 8:36:29to develop because they use web Technologies HTML  for example so there is nothing complicated about
  4452. 8:36:36it of the disadvantages can be attributed to the  fact that for a web application in principle it
  4453. 8:36:42is clear from the definition always need internet  connections to work there is no possibility to use
  4454. 8:36:49the functions of a mobile device that is what does  this mean for example we have in the cell phone
  4455. 8:36:55camera we have push notifications we have for  example access to GPS all of these things web
  4456. 8:37:02applications can't use and that application  cannot be downloaded from the app store or
  4457. 8:37:09Google Play Market Google market I mean they're  not there because it's basically a website I
  4458. 8:37:14mean you can't distribute it that way and these  applications are not very well protected because
  4459. 8:37:20they are written in HTML 5 for example and we  can easily download code of this application
  4460. 8:37:28of our web and is at best to use it in the worst  case in this code can be encoded some information
  4461. 8:37:38sensitive that is sensitive data of our users  for example and again it can be used this is
  4462. 8:37:45something that concerns web applications there  are also native apps native applications are
  4463. 8:37:52those applications that we directly download from  our store from playm Market or app store and they
  4464. 8:37:58are developed directly on those tools those tools  in those languages that are needed and used for
  4465. 8:38:06the platform they are specific let's fix the typo  here because I know a lot of people notice them
  4466. 8:38:13and write to me in the comments this is very good  you see I have already notice these points myself
  4467. 8:38:22coming back to Native applications application  for iOS for example are developed in Swift Android
  4468. 8:38:29applications are developed in Java or cotlin  that is these are specific languages peculiar
  4469. 8:38:35to these platforms this should also be borne in  mind on the plus site these native applications
  4470. 8:38:43work without an internet connection and they  have access to the mobile device capability
  4471. 8:38:49so you can send push notifications you can for  example use camera resources you can use G PPS
  4472. 8:38:56that is everything that we have in the application  we have access to it well if of course the users
  4473. 8:39:02allow us to do this and these these applications  are distributed through stores so this is also a
  4474. 8:39:09big plus because you can download it in a store  you can buy it for money so the company makes
  4475. 8:39:14a profit on this um you can embed for example  advertising on it and companies get some money
  4476. 8:39:19for that too in principle it is at the expense  of advertising that various conditionally free
  4477. 8:39:25applications live one of the disadvantages is that  a separate version of the application is developed
  4478. 8:39:32for each platform as I said these applications are  specific and are written in certain programming
  4479. 8:39:38languages plus we are going to talk a little bit  more about guidelines what they are that is each
  4480. 8:39:44platform each store has its own guidelines we  have our own requirements for the development
  4481. 8:39:51of this or that application for its design and for  example if Android has some requirements that are
  4482. 8:39:58specific to that particular platform then iOS has  requirements that are specific to that platform so
  4483. 8:40:05we can't release the same apps written in the same  language for those two platforms the thing about
  4484. 8:40:12Native apps that's why we develop separately for  each platform in principle this has the following
  4485. 8:40:18disadvantage we need more money and time for  development in principle it is understandable
  4486. 8:40:24because there are two separate versions two  platforms and we with several teams are engaged
  4487. 8:40:30in this particular development on top of that  more money for example can go to buying various
  4488. 8:40:35test devices for example if we do decide that we  are releasing for each separate platform we have
  4489. 8:40:42to buy a device on iOS Android device but since  there are so many for Android devices you have to
  4490. 8:40:48buy them in different variations and necessarily  the updating and downloading of these apps is
  4491. 8:40:55with the involvement of the user that is we cannot  automatically perform these updates whenever we
  4492. 8:41:00want so the user has to download it this also  causes some risks because for example if you have
  4493. 8:41:07a critical bug in your application and a user has  not downloaded it for a long time update that is a
  4494. 8:41:14user can perceive this as a poor quality product  poor quality of your work put a negative review
  4495. 8:41:19the review has a very negative impact that other  users see it and won't want to download the app
  4496. 8:41:26that is we cannot update it all in a centralized  way so that's a big disadvantage on the plus
  4497. 8:41:32side these applications are quite high speed and  due to the fact that we can involve the various
  4498. 8:41:37functions of the mobile device that is they are  more more interesting than other kinds of apps
  4499. 8:41:44whether it's hybrid or web that's the thing about  Native apps and the last type left is hybrid apps
  4500. 8:41:51as the name implies hybrid applications include  both web elements and Native application elements
  4501. 8:42:00again this kind of application has its pros and  cons first the pros include the fact that they
  4502. 8:42:06are crossplatform why because most of the time  they are written using different web technology
  4503. 8:42:11languages so there's no such binding to the fact  that we have to write only in Java or in cotlin
  4504. 8:42:19or in Swift so again it's good for making sure  that we don't have to develop separate versions
  4505. 8:42:26for different marketplaces hybrid apps have  access to phone features meaning we can plug
  4506. 8:42:33them in they have access to apis internal to that  phone just like native apps and they're cheaper
  4507. 8:42:41to develop the native again because we don't have  to develop 100 minus 500 versions let's say for
  4508. 8:42:49different versions of platforms and the platforms  themselves and we don't need such a large number
  4509. 8:42:55number of large devices that we need for testing  to the minuses can be attributed low speed of work
  4510. 8:43:01because we have here used web Technologies  we cannot optimize some things plus they are
  4511. 8:43:06impractical because of the long updates of the  framework that is if we for example used the
  4512. 8:43:12our apps and wrote it on some kind of framework  then basically it could take there about three
  4513. 8:43:19to 6 months to update it and again that's a  very long time and they're not secure because
  4514. 8:43:24most most often again as I said it's using web  Technologies it may be using HTML 5 and as web
  4515. 8:43:32applications we have some security holes in  those applications on top of that again going
  4516. 8:43:37back to our mobile app design guidelines there  may be issues related to with the fact that for
  4517. 8:43:45this or that market even though we are using the  same version we have to make changes in the design
  4518. 8:43:50in order to comply with the guideline and not to  be rejected for uploading this application to or
  4519. 8:43:55Market that's the thing about the types of all  these apps if we're talking about Native apps
  4520. 8:44:00for example we can include the same Instagram that  we download through the market hybrid maybe some
  4521. 8:44:09kind of news aggregators so you have some kind of  PC files that you're you download install there is
  4522. 8:44:17information about various news resources and it is  when you click for example on this news resource
  4523. 8:44:23you are transferred to the web version of this  application perhaps so it can be realized various
  4524. 8:44:28applications related for example to photography  also use this hybrid type that is you can find a
  4525. 8:44:33lot of examples on the internet and prepare  yourself for the fact that if you are asked
  4526. 8:44:39for a job interview for example give an example  of all of these types of mobile apps so that you
  4527. 8:44:46know at least a few examples the next point is the  guidelines that I've already talked about today
  4528. 8:44:53these are the requirements for our design let's go  back to our development sites for Android and for
  4529. 8:45:00iOS if we're talking about Android we have we have  guides directly where we have information on the
  4530. 8:45:10user interface and navigation uh when we click on  the element we need it opens up information about
  4531. 8:45:16how it should look like how it should work and  we must necessarily conform to everything that
  4532. 8:45:21is written here in case we don't comply with that  your will just be decl ConEd and they'll say we
  4533. 8:45:29can't download this app because you don't meet our  requirements so it's very important if you decide
  4534. 8:45:35for yourself to choose the path of Testing mobile  applications you should learn these guidelines the
  4535. 8:45:41basic principles that are used in them often at  job interviews they ask you exactly about these
  4536. 8:45:45guidelines how familiar you are with them they  ask you about the elements what differences there
  4537. 8:45:50may be in iOS devices what differences there  may be in Android devices that is we have to
  4538. 8:45:58memorize all this a similar principle is used  on the developer.apple.com website then there
  4539. 8:46:04is information about the different operating  systems that are used on different form factors
  4540. 8:46:08of Apple products and again when we go for  example to iOS if we're talking about a cell
  4541. 8:46:14phone there's a detailed description of how it  all works how it should look like that is also
  4542. 8:46:20we have to memorize it learn it know it and be  ready at interview to to be asked about it so
  4543. 8:46:29paying attention to uh those two guidelines and uh  the last point that I wanted to touch on today it
  4544. 8:46:35will have to do with where do we get the device  for testing not always your company or if you
  4545. 8:46:40work on freelancing you have the opportunity to  buy the necessary Fleet of devices and use them
  4546. 8:46:44in your work that's why emulators come to our Aid  as I said we use statistics for our work we found
  4547. 8:46:52out for example that we have are two platforms we  found out the versions that we are interested in
  4548. 8:46:59that are the most common now we choose a device  and we choose a form factor a tablet a phone or
  4549. 8:47:07I don't know for example a watch a smartwatch that  is we have to formalize our Fleet of devices the
  4550. 8:47:16easiest option is of course to buy them that is we  go to the resources he showed look at what devices
  4551. 8:47:23are the most common what their model are and  just send the customer this big list of what we
  4552. 8:47:28need to buy for testing mobile applications if we  don't have such an opportunity then emulators and
  4553. 8:47:35mobile application simulators come to the rescue  let's discuss them uh a little more first let's go
  4554. 8:47:44back to our favorite developers from android.com  and apple.com dot there are two primary aits used
  4555. 8:47:55by default to emulate either a mobile device or  another dot these are the Android SDK and X code I
  4556. 8:48:02have not worked with xcode 12 and have not worked  at all with testing Mobiles on the iOS platform
  4557. 8:48:09so I cannot provide detailed information about  this Tula about this tool therefore it is left to
  4558. 8:48:17your own study and search for more information on  the internet I worked on the Android SDK as part
  4559. 8:48:26of the course when I took it again I work in web  application testing now so I don't run into Mobile
  4560. 8:48:31either but I know something and what I know I'll  tell you and in principle for a successful start
  4561. 8:48:39this information will be enough for you because in  any case the Android SDK is quite an interesting
  4562. 8:48:46tool there is a lot of functionality in it and  it is used not only to emulate our applications
  4563. 8:48:53we will talk about it in more detail in the next  lessons we will learn how to install it I will
  4564. 8:48:57show you what you will need to work with it how  to emulate it what we will need to test in mobile
  4565. 8:49:04applications so be sure to join the next lessons  on this topic I will not talk about it in more
  4566. 8:49:09detail right now that is we can as I said emulate  our mobile device here choose which device we are
  4567. 8:49:14interested in and the Android SDK allows you  to create a these emulators and some access to
  4568. 8:49:22the functions of this device there are and we can  emulate them also to Android SDK can be connected
  4569. 8:49:30directly to your phone and also in real time to  work exactly with it using this Tula there is also
  4570. 8:49:39a possibility to take logs from the device in case  we have some errors and send these logs to the
  4571. 8:49:44developer so uh we will talk about this in more  detail in the next lesson I think it's probably
  4572. 8:49:52the same thing with xcode you can develop our  mobile apps directly within xcode and also test
  4573. 8:49:58them using various kinds of emulators and then  there's also this great resource called In Motion
  4574. 8:50:07which I've worked with as well here there is let's  say a fleet of virtual devices you will have the
  4575. 8:50:15opportunity to use a free version of this tool  this application there is a simple registration
  4576. 8:50:22process here create your account and you'll have  a few minutes to click on it and try it in your
  4577. 8:50:30work again let's talk about this in more detail  about when we're directly testing something I'm
  4578. 8:50:37going to show you the basic testing that you can  do here the emulation interface is very similar to
  4579. 8:50:45the Android SDK although it's more limited here  so you and I are going to look at that as well
  4580. 8:50:51it's also possible to for example test different  resolutions of our screen directly in the built-in
  4581. 8:50:58Chrome Dev tools we probably talked about this  when we looked at the dev tools device in general
  4582. 8:51:04but let me remind you once again that you click  F12 in your browser select toggle device toolbar
  4583. 8:51:10and here you can select the resolution that  we are interested in and see how the Adaptive
  4584. 8:51:14layout works for this resolution you can also  select the resolution of different devices
  4585. 8:51:26that are already pre-installed here or you can  add them here to custom devices or if they are
  4586. 8:51:33not on the list look maybe they are here and  they are just not checked off for you to use
  4587. 8:51:39them and you can do all of that here in search for  it we'll come back to Dev tools as well when we're
  4588. 8:51:45going to look at mobile app testing I we also  show you how you can connect for example your
  4589. 8:51:53phone directly to your computer and working  it through Dev tools that is it uh it will
  4590. 8:51:59be displayed on the screen and we can conduct  for example testing of mobile web applications
  4591. 8:52:07directly using Chrome Dev tools that's the  kind of lesson we have today I think you
  4592. 8:52:12will find the information useful the homework  assignment is as follows explore all of these
  4593. 8:52:19resources that I will leave in the info box  also study the various guideline related to
  4594. 8:52:26design if you have decided for yourself that  you want to try testing mobile applications
  4595. 8:52:35and learn memorize what elements of are in the  user interface how they should look like and
  4596. 8:52:43how these elements May differ on Android and  iOS you can also for yourself for example try
  4597. 8:52:49genim Motion download and see how it works  but keep in mind that there are only 60
  4598. 8:52:54minutes there most likely if you're  connecting from different emails you'll
  4599. 8:52:59have the option to just extend that time  also perhaps if you have some extra money
  4600. 8:53:04and you like this tool you might consider  buying a pay subscription and then you can
  4601. 8:53:11work in an unlimited mode that's all for  now Welcome to our tent goodbye [Music]
  4602. 8:53:32hello YouTube in the last lesson you and I  went over the main theoretical points that
  4603. 8:53:38could relate to Testing mobile applications  and today let's get familiar with a tool like
  4604. 8:53:43Android Studio the Android SDK I will teach  you how to install it and show you the main
  4605. 8:53:49functions that you can use in your work and in  the next lesson we will look at a list of all the
  4606. 8:53:54tests that can be performed in mobile applications  so that you know what you will need to do to do
  4607. 8:54:01directly on our work let's get started to begin  we go to developer.android.com to download our
  4608. 8:54:11installer directly which will allow us to install  the Android SDK very simple to do we click
  4609. 8:54:21download select that we agree to all the terms  and conditions and then start the installation
  4610. 8:54:26process I already have the installer installed  so let's proceed to installing the application
  4611. 8:54:34itself we launch our installer and then we wait a  little bit for the Preparatory work to take place
  4612. 8:54:44this process usually takes a few minutes after  that we get this welcome window where we click
  4613. 8:54:50next and choose what we need to install make  sure to check check that we have a check mark
  4614. 8:54:57against Android virtual device because this  is what will allow us to use the emulator for
  4615. 8:55:02our work with you click next if you have enough  space on your hard disk insert the default path
  4616. 8:55:09where this application will be installed here  we don't change anything either and install
  4617. 8:55:15our application as standard when we use any  installer again we wait for a few minutes so
  4618. 8:55:24a few minutes have passed the installation as  we can see was successful and we click next and
  4619. 8:55:31right from here we can launch our Android Studio  let's go ahead and do that and depending on the
  4620. 8:55:37performance of your computer of course the time  it will take to download this toola may vary the
  4621. 8:55:43whole thing is quite a lot and requires quite  a bit of performance characteristics of your
  4622. 8:55:49computer shall we say so again we get the welcome  window our installation is not yet complete I'm
  4623. 8:55:56telling you right away and here we can either  customize our installation somehow or we can
  4624. 8:56:01choose the default path let's take a look at  what we have in the customizer that is again
  4625. 8:56:07here we have information about where we're going  to install these additional packages that we're
  4626. 8:56:11going to need for our work we can choose the  themes that we like better I like dark themes
  4627. 8:56:17always and this is where you need to choose  what you want to install as as you can see I
  4628. 8:56:25already have something installed because I've  installed some packages before to refresh my
  4629. 8:56:30memory a little bit on how this goes but most  likely there will be check marks everywhere
  4630. 8:56:36here except Android SDK platform so you'll just  have the API selected here click next and finish
  4631. 8:56:43and now we wait until we have all the necessary  components installed this will take quite a long
  4632. 8:56:49time so get ready okay we've got everything  installed it took about 10 minutes probably
  4633. 8:56:54because I have a slow internet connection because  this I understand is downloaded exactly from the
  4634. 8:57:01worldwide web and uh after that we have our  Android Studio directly open and what we need
  4635. 8:57:10using in order to work in this application we need  to create a project a new project let's do that
  4636. 8:57:24our new projection is created as this uh  application is created so that we can also
  4637. 8:57:32test our applications written by ourselves here  or we can upload already readymade applications
  4638. 8:57:39here and explore them as well that is  here we have the opportunity to upload
  4639. 8:57:43different templates that allow us to do this  let's choose without any activities directly
  4640. 8:57:51you will have to choose the version of the  operating system which is used on your phone
  4641. 8:57:57or which you will be use it for testing  whatever you want to test and then click
  4642. 8:58:02finish after that we will start preparing our  workspace which is the environment where we
  4643. 8:58:08will work we will be particularly interested in  the avd manager the pixel 3 emulator is already
  4644. 8:58:15pre-installed here and we can run it as you can  see there is still some additional installation
  4645. 8:58:22required it is necessary to to set how  much RAM will be used to work with this
  4646. 8:58:27emulator the default is 2 GB as we can see  everything was successful everything updated
  4647. 8:58:45we click finish and for some reason  it tells us that we cannot start avd
  4648. 8:58:51why can such an error occur we need to  in all this H xxm let's install it and
  4649. 8:58:59again we get an error we have installed  the necessary tool but we also need to
  4650. 8:59:05enable Hardware acceleration in the Bios  how is it done now I will find out on the
  4651. 8:59:12internet and I be sure to tell you so in  general I have figured out this problem
  4652. 8:59:27and I will tell you in a nutshell what you  need to do to avoid this error if it appears
  4653. 8:59:33I will definitely add two articles to the info  box on how to set hardware virtualization in
  4654. 8:59:39BIOS there is nothing complicated here  that is you just enter the bios of your
  4655. 8:59:44system depending on the type of your laptop  or computer and the company that released it
  4656. 8:59:56it's all detailed here on what needs to  be done I have an HP that is you restart
  4657. 9:00:00the laptop press f2 I had Escape  go to in BIOS system configuration
  4658. 9:00:04select virtualization technology  and here you will need to turn
  4659. 9:00:08on this function and after that the computer  will reboot again and uh you should not have
  4660. 9:00:22this error again that is I'll discount all this I  can't show it in real time because it all happens
  4661. 9:00:27at startup of your computer and I can't use a  screen capture application and from a cell phone
  4662. 9:00:33I would not really want to capture it because the  quality will be so bad nothing complicated here
  4663. 9:00:39once again I will leave all the links to these  articles and after that we again return to our
  4664. 9:00:48avd manager and here we have the opportunity  to choose a pre-installed emulator or create
  4665. 9:00:54your own virtual device that is some cardboard  settings in it to do what will be of interest to
  4666. 9:00:59you on my computer unfortunately does not work so  fast Android SDK as I said it is quite demanding
  4667. 9:01:07to the system of the application although I  have a gaming laptop but as you can see even
  4668. 9:01:14for him 8 GB there's not enough memory and here  we can customize the whole thing choose those
  4669. 9:01:25emulators and devices that you are interested in  that is you can hear and TV and the smartphone
  4670. 9:01:30itself and smart watches and tablets  are tablets all of this can be done here
  4671. 9:01:35configured pre-installed that is it will all  just take up a certain space on the disc as
  4672. 9:01:40you can see the pre-installed pixel 3A takes up  almost 10 GB on the disc after that you launch
  4673. 9:01:50the emulator by clicking on that green triangle  see during the first installation you will have
  4674. 9:01:56your emulator turned on the first time you  run it the device will also be affected for
  4675. 9:02:01a while now I've already done this so it goes a  little bit faster for me all of that and now you
  4676. 9:02:10basically have a a cell phone a smartphone  which you can test what can you do in this
  4677. 9:02:17emulator in the former scenario you have the  ability to test the sound and adjust the volume
  4678. 9:02:27accordingly it may not be the fastest application  as we can observe however you typically have high
  4679. 9:02:34performance computers at work which enable  you to complete this task much more swiftly
  4680. 9:02:41furthermore you have the option to change the  spatial orientation of your device Additionally
  4681. 9:02:48you can take a screenshot of the screen you're  currently working on for instance if you need
  4682. 9:02:54to address a bug a screenshot can be taken  downloaded and subsequently attached to your
  4683. 9:03:00bug report what else can you do here you can  go into the so-called Zoom mode this means it
  4684. 9:03:10just Zooms in on the place you're interested in  Additionally the navigation buttons that we have
  4685. 9:03:16in Android work here as well that is the back  button the home button and the overview button
  4686. 9:03:24and what else can you do here by pressing these  three points you can use GPS and test it also
  4687. 9:03:33you can add additional displays of some kind  moreover you can emulate the operation of your
  4688. 9:03:38network so for example you can emulate such  conditions when you have GSM or 4G or 3G or
  4689. 9:03:525G that is you can do all of this or full then  you have absolutely all kinds of connections you
  4690. 9:04:00can also emulate the strength of your signal so  again if you are for example in a place where you
  4691. 9:04:08have a weak signal where you have a good signal  all of that can be adjusted here as well plus
  4692. 9:04:14you can also choose viip status that is roaming  for example or you are calling from home that is
  4693. 9:04:24you can do all of that here too so it's all at  your discretion what you need to emulate and what
  4694. 9:04:29test conditions you need to create you can also  modulate for example the operation of your device
  4695. 9:04:35when your battery level is at the minimum level  that is you can do it all here too as you can see
  4696. 9:04:41you can immediately set up push notifications that  tell you that you have a certain amount of percent
  4697. 9:04:46left speaking in a enjoyable manner you can also  emulate what you have plugged into an outlet that
  4698. 9:04:57is charging your smartphone directly you can also  emulate the state of your battery for example if
  4699. 9:05:05it suddenly died if it's overloaded you can do  all of that here too you can also emulate the
  4700. 9:05:11fact that it is charging or not or it is not  clear whether your phone is charging or not
  4701. 9:05:16all of that can be done here as well you can  also emulate for example directly calling your
  4702. 9:05:23phone and here as you can see you have  tapping triggered in the same way as it is
  4703. 9:05:36on your mobile device this directly emulates  the various navigation buttons for instance
  4704. 9:05:43if you have some kind of game you can also  use microphone emulation fingerprint if you
  4705. 9:05:49have for example a fingerprint lock you can  do that as well there are also some virtual
  4706. 9:05:55sensors for example the same accelerometer  gyroscope magnetometer or whatever it might
  4707. 9:06:01be all of this can also be emulated here and  here you can also directly create bug reports
  4708. 9:06:12what is done here at once a screenshot is created  if you left this checkbox you can also write the
  4709. 9:06:18playback steps right away and the lcks of your  device are also written also very cool if you uh
  4710. 9:06:27for example emulate some error and you need to  show the locks that directly happens with your
  4711. 9:06:35application then you can copy all this and save  this report again send it to your developer so he
  4712. 9:06:41can directly fix this bug snapshots unfortunately  I don't know what they are I can't tell you record
  4713. 9:06:49and Playback if I understand correctly you  can do something on the device and it's being
  4714. 9:06:53recorded and you can also attach This Record to  your bug report for example various settings that
  4715. 9:07:22is where we save screenshots some hot Keys used  or not that is all this can also be customized
  4716. 9:07:29here directly for you even you see you can set  a proxy that is some intermediate server between
  4717. 9:07:37your client directly to the final server so  you can test all this here very well if you
  4718. 9:07:44for example do not have access to some kind of  to the device I think this is a great Tula but
  4719. 9:07:53not without flaws as you can see there are issues  related to Performance and optimization of this
  4720. 9:08:00application in general Android SDK but Tula is  very powerful and it helps very well in working
  4721. 9:08:08and emulating directly your devices what else  would I like to tell you about Tula for example
  4722. 9:08:15you can connect your phone directly here is a real  device and you can also work with it directly here
  4723. 9:08:23how can we accomplish this task it is done  and I will demonstrate it on the emulator
  4724. 9:08:30first you need to enable developer mode  on your phone to achieve this we must go
  4725. 9:08:35into the settings you will need to locate  a specific button or tab such as about the
  4726. 9:08:43device on your phone we navigate to this section  especially if we're referring to a real device
  4727. 9:08:51once we find the build number or it might be  labeled as the build number we have to press
  4728. 9:08:55it multiple times after doing so you'll see  a message saying now you're a developer what
  4729. 9:09:03does this give us that you can use additional  features in your phone and for us we will be
  4730. 9:09:11specifically interested in the debug mode which  will give us the ability to read logs when we
  4731. 9:09:18connect the phone to our computer and when we  use our Android SDK how is is done so you and
  4732. 9:09:26I have entered the developer mode and now we  need to connect our phone via USB cable to our
  4733. 9:09:33computer after that you will need to go  to developer options and find an area
  4734. 9:09:41like debugging make sure that you have USB  debugging enabled if you don't have that
  4735. 9:09:47enabl just change the toggle to indicate that  you have USB debugging enabled what do we do
  4736. 9:09:54next let me remind you this is for a real  device don't forget you need to do all this
  4737. 9:10:04on your actual smartphone especially  if you have an Android device for
  4738. 9:10:08example once you have connected the debug mode  you can now work directly with the Android SDK
  4739. 9:10:19and your smartphone to do this you need to go into  the Android SDK and then connect your smartphone
  4740. 9:10:24via a USB cable after connecting make sure to  enable file transfer on the smartphone itself
  4741. 9:10:34following that you will see a popup window on your  smartphone screen that says allow USB debugging
  4742. 9:10:39you should select okay on this popup window as  we can see our smartphone is now successfully
  4743. 9:10:46connected to the Android SDK and here we can see  all the information that we have stored in our
  4744. 9:10:51smartphone additionally if we utilize a tool like  logcat which is right here we will have access
  4745. 9:10:58to the device logs this means that anything  you do on the device will be directly shown
  4746. 9:11:04here if there are any errors this information  will also be displayed in these logs for us to
  4747. 9:11:10review these logs you can download and if  you need to attach them to the report you
  4748. 9:11:18attach them that is these errors will be  directly seen by the developer and he will
  4749. 9:11:25know what the problem really was this is  much more effective than just describing
  4750. 9:11:30the steps to reproduce a particular bug this  is what concerns working with logs that is
  4751. 9:11:38there is nothing complicated about it either  find the bug and be sure to connect logging
  4752. 9:11:44to our device we need to attach these logs  to our bug report another thing I forgot to
  4753. 9:11:50mention is if we for example want to install  some application on our emulator this is done
  4754. 9:11:56quite simply again you start your emulator  in the way we already know you wait a little
  4755. 9:12:03bit and beforehand I downloaded the APK  file which is the uh file for installing
  4756. 9:12:13our application and what can we do we simply  drag and drop it right here into our emulator
  4757. 9:12:22and then the installation of this application  takes place this is incredibly convenient for
  4758. 9:12:27instance you have a final build that needs testing  the developers have uh prepared an APK file for
  4759. 9:12:36you and you can install it on the emulator this  way and conduct the testing directly within it
  4760. 9:12:45as we can see we have installed telegram because  this is an APK for installing Telegram and we can
  4761. 9:12:51go into it and in our usual way work just like  on a regular phone we'll talk to you about the
  4762. 9:12:58checks themselves which we need to be sure to  do on mobile devices in the next session that
  4763. 9:13:03is you get this APK install it on an emulator  for example or on a real device and then carry
  4764. 9:13:10out all the checks that we will understand  again there is nothing complicated about it
  4765. 9:13:17it's a very handy tool basically for you for  beginner testers I think this will be enough
  4766. 9:13:23that is you just learn how to install this to  learn how to the emulator how to load apks into
  4767. 9:13:34it how to perform some test in it understand  all these available functionalities that are
  4768. 9:13:40here because the other things that are here  except for logging I don't think you need to
  4769. 9:13:45know at this point and most likely all of this  will be taught to you directly at your work
  4770. 9:13:53place also today let's take apart Jenny motion  which I showed you during the first class let's
  4771. 9:14:00set it up and see what we can do there let's go to  the official Jim motion website and register let's
  4772. 9:14:07take advantage of this nice offer that we have 60  Minutes for testing let's register using some data
  4773. 9:14:18and let me demonstrate the possibility of using  some test emails to obtain an unlimited number of
  4774. 9:14:24these licenses remember not all Sites allow this  if I recall correctly Jenny motion permits us to
  4775. 9:14:33do this there is a resource called mailinator that  lets us use public mailboxes for purposes related
  4776. 9:14:40to needing to register somewhere uh and use the  real version this site will be sufficient that is
  4777. 9:14:50here we can create our own kind of test boxes for  example a test let's call him artm and we have an
  4778. 9:14:58opportunity to use it for a certain period of  time and gather some data here let's register
  4779. 9:15:05with you test RTO doog mailinator.com company  name test it's quite interesting how everything
  4780. 9:15:12here is highlighted in red for example from a  UI ex perspective it's not very good cuz it's
  4781. 9:15:18not clear we seem to have entered our data  but for for some reason it's highlighted in
  4782. 9:15:26red I have so many questions for  the developers of this system oh
  4783. 9:15:42come on now all right let's try to  come up with some kind of password
  4784. 9:15:53we confirm it we select our location and then  we confirm that we are not a robot by doing the
  4785. 9:15:59so-called capture so we confirmed that we want to  use it for free well for some reason the system's
  4786. 9:16:06crashing apparently it didn't like mailinator  so let's use a real maybox so we have managed to
  4787. 9:16:13get into our Genny motion account that is we have  registered and we have confirmed our email address
  4788. 9:16:23here we also have the possibility to use  some pre-installed virtual devices which
  4789. 9:16:29are there's one here and and again  just a reminder that we only have 60
  4790. 9:16:47minutes so we can also create some  of our own devices we can also upload
  4791. 9:16:57some applications that we need to test  here but let's use some default device
  4792. 9:17:02and look at the functionality of this  web application let's select let's go
  4793. 9:17:07ahead and again our Google pixel 3A our  virtual device is loaded that is it is
  4794. 9:17:15created it takes a little bit of time to  load a message pops up informing us that
  4795. 9:17:25we're on a time limit and here we have our  emulator our device running with our Android
  4796. 9:17:31system we can also utilize similar features  here that we had in the Android SDK so this
  4797. 9:17:37is volume control this is for changing the  position of our picture or our smartphone
  4798. 9:17:45we can also choose to display it in full screen  next we have some sort of clipboard functionality
  4799. 9:17:58unfortunately I don't know what  that is let's try to input some
  4800. 9:18:03information here hm nothing came up  that's very interesting apparently
  4801. 9:18:09these are some notes that we can create  right here we can also upload some files
  4802. 9:18:14here once again we can use our webcam as a camera  for this device emulate different levels of
  4803. 9:18:23battery and see whether or  not our device is charging
  4804. 9:18:27again our fluff notification appears  indicating that there is 15% left to
  4805. 9:18:34discharge we can also play around with  geolocation using GPS next we can create
  4806. 9:18:46some screencast which means recording our  screen or take screenshots if we need to
  4807. 9:18:52find a way to to fix our bug next is identify  that is we can apply some identities of our
  4808. 9:18:58device like generating an Android ID all  of this can be done here once again we can
  4809. 9:19:05emulate various kinds of signal strength  or the type of connection we intend to
  4810. 9:19:13use that is all this can also be done here you  can emulate a call or send some message to our
  4811. 9:19:27device you can directly change the resolution of  our screen which will also affect the performance
  4812. 9:19:32for example or the discharge rate of our device  dis iio I unfortunately do not know what it is so
  4813. 9:19:42I will not tell you once again navigation buttons  and turning off our device that is we can also do
  4814. 9:19:50all this here and we can use it well just like in  the Android SDK this application as you can see
  4815. 9:19:58does not require as much performance power as the  Android SDK but its disadvantage is that it is of
  4816. 9:20:04course paid and again it doesn't cover everything  that can be done in the Android SDK the Android
  4817. 9:20:11SDK in turn doesn't cover what you can do on a  real device that is it doesn't cover every feature
  4818. 9:20:18therefore we cannot fully guarantee the fact that  a particular Buck will not actually be reproduced
  4819. 9:20:23on a real device that is we should also test on  real devices emulators are not a substitute for
  4820. 9:20:33this kind of testing this is such an interesting  application so you can double with it too to
  4821. 9:20:39practice to see how it works in the next lesson  I will tell you what all these buttons in the
  4822. 9:20:45Android SDK and in J motion are for that is I will  tell you about the types of checks that we should
  4823. 9:20:53simulate events interrupts for our smartphone  or tablet or Smartwatch that is a mobile device
  4824. 9:21:02that we're testing and how we should be testing  this whole thing and what to pay attention to
  4825. 9:21:08first so be sure to stay tuned to this channel I  think it's going to be very interesting the next
  4826. 9:21:14session will be the last one in the framework of  mobile application testing because in my opinion
  4827. 9:21:20I can't give you more than what I know myself  myself I don't work with mobile apps myself
  4828. 9:21:26everything I remember everything I know everything  I find on the internet I tell you as well and this
  4829. 9:21:32knowledge was also given to me in the courses  in principle I think that this knowledge will
  4830. 9:21:37be enough for a position of a beginner tester or  for a position of a trainee so thank you very much
  4831. 9:21:42for your attention be sure to leave your questions  in the comments if you have any subscribe to this
  4832. 9:21:47channel if this is your first time here and  check out my social media channels like like
  4833. 9:21:52Telegram and Instagram lots of great stuff there  too and we communicate with everyone there as
  4834. 9:21:59well if I don't answer the guys who have been  on this channel for a long time or who work in
  4835. 9:22:06testing answer because I know that there are also  current testers in the ranks of my subscribers so
  4836. 9:22:12we don't put you without attention thank you  very much gracias to our shalash bye [Music]
  4837. 9:22:34hello YouTube today I'd like to conclude our  dive into Mobile app testing on a positive note
  4838. 9:22:40and discuss the checks that must be performed on  our mobile apps directly to ensure they function
  4839. 9:22:47correctly there are several basic checks  that need to be conducted on our mobile apps
  4840. 9:23:01let's talk about each of these first there are  the interrupt checks what is an interrupt it is
  4841. 9:23:08when the work of our application is interrupted  by something from the outside what are some of
  4842. 9:23:14the checks associated with this in general for  example someone calls us and we're sitting in some
  4843. 9:23:19application either in a toy or in our our browser  and we should definitely check what happens to the
  4844. 9:23:25application after the call ends for example it  may crash crash out or hang so we need to make
  4845. 9:23:33sure that everything is working correctly the same  applies to incoming calls that is for example if
  4846. 9:23:40we minimized our application in word Ray and  we call someone and then we want to go back
  4847. 9:23:47to our application we should see if everything  is fine there if the information about what we
  4848. 9:23:52did in Ram is still there and this information is  loaded and shown to us in the same unchanged form
  4849. 9:23:58so that's something we can test as well there  are also types of interruptions like popups
  4850. 9:24:03notifications push notifications so for example  again you're playing something and you receive
  4851. 9:24:08a message from some social network and a push  notification appears again we can test this see
  4852. 9:24:15how the main application we're working in reacts  to this the next kind of interrupts are discharge
  4853. 9:24:21interrupts recharge interrupts so for example if  our phone is at the minimum threshold in terms of
  4854. 9:24:29charging how does the app behave again there may  be some sort of notification that you need to put
  4855. 9:24:35your phone on charge or that your phone has been  put into economy mode so again we're looking at
  4856. 9:24:40the fact that our app is working correctly  charging means that for example we take our
  4857. 9:24:44phone and put it on our charging station again see  if everything works correctly in our application
  4858. 9:24:50that is whether it does not fly out does not  minimize to the tray does not start to slow
  4859. 9:24:54down that is we look at this again application  minimization and modification again everything
  4860. 9:25:00is simple here if we minimize our application  in the tray and expand it back we see that yes
  4861. 9:25:05there is really saved information again if the  amount of RAM on our phone allows us to do it
  4862. 9:25:10because if we do not have enough memory and our  application does not work in the tray we can see
  4863. 9:25:14that it does not work in the tray application for  example some heavy toy then of course we have the
  4864. 9:25:20possibility that it is simply because of ROM not  is loading this data the next type of testing is
  4865. 9:25:29testing the installation that is we check that  our application is installed correctly that we
  4866. 9:25:33can remove it for example as from some Market  or we can remove directly from the phone by
  4867. 9:25:39long pressing pressing the cross and everything  is really removed or from the tabina applications
  4868. 9:25:45inside the settings delete so we have to  check all that and see that yes we do have
  4869. 9:25:53everything goes well reinstallation again  we uninstalled this app some time ago and
  4870. 9:25:58we decided to reinstall it back we may have some  I don't know data folder from this app saved how
  4871. 9:26:04could that affect us reinstalling this app and the  app possibly from that could not work properly I
  4872. 9:26:10mean we should definitely check that as well and  of course upgrades when we make an update from our
  4873. 9:26:18Market that is again to see that the transition  to a new version does not affect does not affect
  4874. 9:26:24our main application its work uh that is also we  check all this the next aspect is to check various
  4875. 9:26:31things related to connectivity to the internet  that is we have to check how our application works
  4876. 9:26:38on different types of connection whether it is  Wi-Fi 3G 4G 5G 2G and all of these G that can be
  4877. 9:26:47connected to our phone and its updates so we are  looking at that as well we also have to check the
  4878. 9:26:52quality of connection that is when we have a bad  connection when we have a good connection when we
  4879. 9:26:57have a great connection when we have no internet  at all for example so we have to look at that loss
  4880. 9:27:03of connection when we have for example I don't  know the internet is blocked in the country as
  4881. 9:27:09it happens in bellarus or or you just go somewhere  outdoors and there are no Towers there that allow
  4882. 9:27:17us to give out a normal signal so we are also  looking at how our application works and ch
  4883. 9:27:22in the connection typee for example we're sitting  on 3G or 4G and we change that connection type to
  4884. 9:27:28Wi whether it's really going to work well whether  the connection is going to be intermittent we have
  4885. 9:27:34to test that as we remember all of these functions  at least the ones that I have shown you today are
  4886. 9:27:40implemented in emulators as well so you don't have  to do all this on a real device although of course
  4887. 9:27:48it is recommended to perform all the checks  on a real device but but if there is no such
  4888. 9:27:53possibility you can emulate simulate all these  let's say unfavorable influences or favorable
  4889. 9:28:00influences for your phone directly in the emulator  itself I'm not going to show it again today if you
  4890. 9:28:06don't know how to install the emulator how to work  with it what features they have then now at the
  4891. 9:28:13top there will be a link to my past video where I  tell you in detail how to install Android Studio
  4892. 9:28:20if we are talking about Android devices show you  what features there are be sure to go over explore
  4893. 9:28:25and test everything according to the checks that  we're going to go over with you today the next
  4894. 9:28:31type of checks is working with the Phone features  that is we have some built-in features phone for
  4895. 9:28:37example there is GPS there is video photo there  are other phone functions like I don't know
  4896. 9:28:43gometer or there is support for push notifications  so we have to check all that if we're talking
  4897. 9:28:48about GPS we look at what for example with API  we can connect to the phone's IP and use the GPS
  4898. 9:28:54that's there we look to see if our geolocation  is actually working correctly again if we have
  4899. 9:28:59the ability to use the camera that's on the phone  we can test all of that check front camera check
  4900. 9:29:07rear camera check sherik check telecamera that is  everything that we have and that our application
  4901. 9:29:13should support work with what that is all these  things we have to check screen size resolution
  4902. 9:29:19orientation the same thing that that is we have  to check on different form factors for example
  4903. 9:29:25if it is stated that our product can work for  example on a tablet can work on a phone where
  4904. 9:29:32the resolution is full HD where the resolution  is full HD where the resolution is HD where the
  4905. 9:29:39resolution I don't know what others have there's  4K 2K I don't know if they are for phones or not
  4906. 9:29:46in general we have to check all of this again  whether is working correctly whether is rendered
  4907. 9:29:52all our pages in our application we check all of  this we also have to check for orientation that
  4908. 9:29:58is if it is stated for example that it can work in  horizontal and vertical mode does it really work
  4909. 9:30:02when we turn the phone upside down there for this  purpose the phone has just the accelerometer which
  4910. 9:30:07allows us to determine its orientation in space  working with gestures that is also I think do not
  4911. 9:30:12need to explain here we check for example there  tap different on our phone screen check minimizing
  4912. 9:30:18unfolding some phones now have support for example  for knuckle tapping that is also somehow it should
  4913. 9:30:25work that is we have to check all of this all  of our gestures there swipes zooming in zooming
  4914. 9:30:32out of our picture we check all of this well and  other features of the phone again everything that
  4915. 9:30:39we can just think of that we have in the phone and  the features that are application supports let's
  4916. 9:30:45say and the access that we give it that is how it  works the next aspect is performance test testing
  4917. 9:30:52here too everything is quite simple we check the  speed of our application that is how fast it works
  4918. 9:30:58responsiveness for example if we tap on it then  for example that should quickly go for example to
  4919. 9:31:03the next page or if we make a swipe then also  after it should come some action how fast it
  4920. 9:31:10happens Ram load that is we should definitely  make sure that for example our application is
  4921. 9:31:16well optimized for this or that one platforms  and did not load the phone very much depending
  4922. 9:31:22on the battery level that is interconnected  with interruptions again we look to see if our
  4923. 9:31:28application is not slowing down when their battery  level drops by a certain amount we can check just
  4924. 9:31:33about every 10% as it can happen that is how your  imagination will suffice and what the end user and
  4925. 9:31:40the business itself wants to get from you in the  end run internal memory from a flash drive so this
  4926. 9:31:45is more relevant to in an Android app we can for  example install an app both on the internal memory
  4927. 9:31:52of our phone and install it on a flash drive that  we have and see again how our app works again the
  4928. 9:31:58rest of all the other checks are connected to that  which means we can definitely check for installing
  4929. 9:32:03on a flash drive deleting from the flash drive  updating on the flash drive reinstalling it on
  4930. 9:32:09a flash drive I mean it's all interconnected and  again I repeat the number of checks depends only
  4931. 9:32:16on how thoroughly you need to do it all how your  imagination Works what your customer wants to see
  4932. 9:32:21from you and most importantly how much time you  have for this testing in general so this is the
  4933. 9:32:26basic list of testing you can do but beyond that  there are our standard all of our standard all of
  4934. 9:32:31our testing all of our testing types that we  can also apply to our mobile apps let's take
  4935. 9:32:36a look at those as well in the description of  this video I will attach two checklists where
  4936. 9:32:41all the checks that you can perform are also  spelled out and in general for mobile devices
  4937. 9:32:47there are a huge number of checklists cheat  sheets in the public domain on the internet
  4938. 9:32:52so you just type in checklist for mobile app  checks and you'll get just um huge pile of
  4939. 9:33:00all kinds of checklists that can help you with  your checks and going back to the aspect of what
  4940. 9:33:05else we can test here that is we can test this  documentation that is we test our requirements
  4941. 9:33:12functional testing that is about what we test here  is what I told you a bit earlier that is all these
  4942. 9:33:17checks for interruptions installation and so on  we should definitely of course check that those
  4943. 9:33:22functions that are declared in our application  that are in the requirements they also Implement
  4944. 9:33:29so I would generally say that functional testing  is the most important thing you should do and the
  4945. 9:33:35first thing you should do usability testing that  is for example how our buttons are well placed
  4946. 9:33:40whether they comply with Android or Apple's  guideline I mean we all have to test that UI
  4947. 9:33:45testing again going back to these guidelines that  is we also compare whether everything everything
  4948. 9:33:51corresponds to way it should be implemented  according to the guidelines and the mockups
  4949. 9:33:56that were provided by to us uiux designer what's  good about mobile testing is that while there's a
  4950. 9:34:05huge amount of testing that we have to do there's  also always documentation available that is you
  4951. 9:34:11already have documentation in the form of the  same guidelines it describes in great detail
  4952. 9:34:17how your application should look how buttons  should be placed how they should react to your
  4953. 9:34:22actions clicks and so on that is you have already  simplified your work in collecting and analyzing
  4954. 9:34:28requirements for your mobile application again  compatibility configuration testing that is again
  4955. 9:34:35we look at compatibility testing configuration  testing performance testing which we have
  4956. 9:34:40already talked about today security testing that's  security testing so we're looking at for example
  4957. 9:34:46what if we're giving access and permission to use  some of the features of our phones that we are
  4958. 9:34:51inside our application we do not use any other  features that are not declared in this excess
  4959. 9:34:56which was given to us by the user because it can  cause huge losses and risks for you as a developer
  4960. 9:35:01and for your customer and cause a big Scandal  because the issue related to sensitive data of
  4961. 9:35:08your users is very critical especially now so you  can get into a very big amount of money Recovery
  4962. 9:35:15testing that is failure and Recovery testing  again recalling our lesson on types of testing
  4963. 9:35:22recall the types of testing that we do there if  you forgotten there's a link at the top right now
  4964. 9:35:26go over take a look and uh all of this again can  be applied and to mobile testing again very often
  4965. 9:35:31for example localize some games for different  locals that is there's a game in Russian for
  4966. 9:35:37I don't know there are games in English for the  USA uh and there are a a huge number of games in
  4967. 9:35:41Chinese that is we're testing our localization or  we're testing our internationalization depending
  4968. 9:35:47on what our goals are for this functionality and  our application beta testing well again it's also
  4969. 9:35:53very pretty straightforward Certification testing  as far as I understand is compliance with the
  4970. 9:35:59requirements of Apple or Google according to  our guidelines according to the requirements
  4971. 9:36:05for uploading our applications to the store in  various markets that is if I am wrong please
  4972. 9:36:10correct me in the comments and tell me what  Certification testing is because I know that
  4973. 9:36:14I am watched by mobile application testers as  well maybe they are more knowledgeable in these
  4974. 9:36:19issues and then it goes on to spill out all these  all these basic checks that you have to do so you
  4975. 9:36:27can rely on them in your work when you're I don't  know you're at a dead end and you don't know what
  4976. 9:36:32to do or you want to simplify your work you can  refer to these checklists and this checklist is
  4977. 9:36:38also in principle quite detailed about what  you can do what checks you do you can also
  4978. 9:36:44find additional checklists for Android additional  checklists for so it all depends on how much time
  4979. 9:36:53you are willing to spend and how many checks you  can perform again there is such a test artifact
  4980. 9:36:59as a test plan which allows us to prescribe even  at the beginning of our testing uh what kinds of
  4981. 9:37:06testing we will use what tools we're going to use  what checks we're going to run and this can very
  4982. 9:37:13much limit the checks that you need to do for a  particular functionality so also pay attention to
  4983. 9:37:18that and ask your team leader for example if you  are coming for the first time or the person who is
  4984. 9:37:24responsible for your management team for example  how it is implemented in your organization what
  4985. 9:37:28kind of checks you do you may not be checking or  testing something then you don't need to come up
  4986. 9:37:34with a bicycle and remembered something else I  wanted to tell you about this part of Mobile app
  4987. 9:37:39testing such a topic on the edge of let's say  web app testing and mobile app testing is how
  4988. 9:37:45do we work in Chrome Dev tools using our actual  device let's switch to our Chrome Dev tools and
  4989. 9:37:51and see how this can be accomplished to connect  to our phone particularly to the Chrome installed
  4990. 9:37:58on it we must first access the Chrome that is  installed on our computer we then click on the
  4991. 9:38:03three dots at the top right corner select more  tools and choose to connect to remote devices this
  4992. 9:38:09action will open a new tab where you you will see  a console at the bottom of the screen click on the
  4993. 9:38:15link provided after doing this you should receive  a message on your phone asking if you want to
  4994. 9:38:21allow USB debugging for this device if you watched  the previous video I detailed how to set this up
  4995. 9:38:27on a Android device so you can go ahead and watch  that nothing complicated about it you just need to
  4996. 9:38:34will need to enter developer mode for that device  and select the debugging over USB permission after
  4997. 9:38:44that you have your phone displayed and you need  to go exactly into from Dev tools that you have
  4998. 9:38:50on your phone and then you can directly from def  tools which is right here write some kind of link
  4999. 9:38:58for the browser that is installed on your phone  so for example we take a link We paste it and
  5000. 9:39:06then click open after that you will have that link  displayed on the phone itself you can also click
  5001. 9:39:13on inspect and then when the screen is on you will  see the information that you have on your phone
  5002. 9:39:24and if you do something directly on your  phone then all the requests and responses
  5003. 9:39:30that go through your phone will show up just  like in regular Chrome Dev tools this allows
  5004. 9:39:35us to analyze everything that's happening on your  phone as well that means in this manner without
  5005. 9:39:41even downloading any sniffers such as Fiddler  or Charles which we will discuss in the course
  5006. 9:39:48for continuing testers let's call it that you  can still an analyze what is happening on your
  5007. 9:39:52phone if you have Chrome installed on it  this is the way in which it can also be
  5008. 9:40:03carried out very similar feature if you  need to analyze this I hope you enjoyed
  5009. 9:40:10this lesson learn something new for you and now  you will be ready to interview for the position
  5010. 9:40:15of a beginner mobile application tester you  should definitely read all of the guidelines
  5011. 9:40:21as I said in the previous lesson probably even in  the first lesson learn it make sure you memorize
  5012. 9:40:27all of those basic checks that are we have learned  with you today to memorize those emulators that
  5013. 9:40:32we have worked with what functions they have to  learn how to shoot logs from your devices that
  5014. 9:40:38is you need to do all this before you apply for  a position as a mobile application tester in the
  5015. 9:40:44next session we will talk about requirements how  to analyze them in what form they can be presented
  5016. 9:40:51how to collect them who to communicate with about  these requirements in general in case of finding
  5017. 9:40:57any errors in them make sure to stay tuned stay  tuned with me and definitely subscribe to this
  5018. 9:41:04channel also be sure to leave your comments if  you have any questions related to this lesson
  5019. 9:41:11visit my social networks where there is a lot of  useful information and where you can ask questions
  5020. 9:41:16directly to me and to members of our already large  software testing community and that's all for now
  5021. 9:41:24Welcome to our tent [Music] bye hello YouTube we  have come almost to the end of our course tester
  5022. 9:41:46from scratch and it dawned on me that I forgot to  tell you in the very first block when we talked
  5023. 9:41:52about testing theory about such an important topic  as requirements analysis and how we work with them
  5024. 9:41:58as testers why is it important everyone knows  such an expression as the theater begins with the
  5025. 9:42:05hanger and the development process essentially  begins with requirements that is without
  5026. 9:42:12requirements without any idea without realizing  it in the form of documentation we cannot get to
  5027. 9:42:18work and realize what the business and the user  wants to get from us so let's talk about this
  5028. 9:42:24topic there are three main levels of requirements  they are the business requirements level the user
  5029. 9:42:30requirements level and the product requirements  level let's talk about each one of them and I
  5030. 9:42:36really hope that my friends business analysts or  product managers project managers don't imprison
  5031. 9:42:42the me if I say something wrong because I still  do not work directly with the co-creation of
  5032. 9:42:49requirements but everything that I know and used  or use in my work I tell you now so let's get
  5033. 9:42:54started from the concept of business requirements  level it is clear that this is something that is
  5034. 9:42:59necessary for our business that is the purpose for  which our product is created for what what is the
  5035. 9:43:07use and how to get profit from this product that  is anything that our business is interested in
  5036. 9:43:15for example a business has a goal to create some  kind of website that promote their products that's
  5037. 9:43:22their Core Business requirement then we move on to  the level of user requirements that is it is clear
  5038. 9:43:30that this site will not exist without users who  will use it so the user requirements level covers
  5039. 9:43:37the tasks that the user can perform with the  product like registering communicating looking for
  5040. 9:43:44information about our product that we promote on  this site that is everything that our user can do
  5041. 9:43:51and already the product requirements level is how  this is all going to be implemented in our product
  5042. 9:43:58from a development perspective given the context  of business requirements and the context of user
  5043. 9:44:04requirements and the product requirements layer  is divided into functional requirements what our
  5044. 9:44:10system should do and non-functional requirements  how our the system has to do that does that ring
  5045. 9:44:16a bell I think we all remember both functional  and non-functional fun testing these concepts
  5046. 9:44:23are closely interrelated meaning that functional  testing covers the area of testing functional
  5047. 9:44:29requirements non-functional testing on the other  hand with all its various types of which there are
  5048. 9:44:34a huge number covers non-functional requirements  and that's essentially all you need to know about
  5049. 9:44:41these three levels make sure you memorize their  names what they stand for and what they are used
  5050. 9:44:46for because often in interviews they may ask you  about the types of requirements you know and to
  5051. 9:44:54describe them a bit plus try to find additional  examples on the internet for each of these levels
  5052. 9:45:03I think it won't be a huge hassle as it's not that  difficult so we figured out what levels we have
  5053. 9:45:09and now let's talk about how we can identify our  requirements most often this is done by business
  5054. 9:45:15analysts but in small companies the function of  analyst for example can be performed by college
  5055. 9:45:21and Engineers for example this also happens so  how can we even identify these requirements first
  5056. 9:45:29of all we can talk to our business customer or to  the users of some focus group that will be working
  5057. 9:45:35with our product and find out from them what they  want to see in it find out all these requirements
  5058. 9:45:42next we can observe for example there is already  some product that is used in the company that
  5059. 9:45:48ordered our services and we are trying to develop  some new version of this product more improved so
  5060. 9:45:56we can observe how users work in that product  and find out what they are interested in what
  5061. 9:46:01they would like to improve in their product so  we're observing that there's also such a thing
  5062. 9:46:08as self-description that is for example we do not  know how our product works that is we do not have
  5063. 9:46:16some prototypes which we will talk to you about  a little bit further then we can turn on Common
  5064. 9:46:21Sense and describe these requirements ourselves  taking into account for example the interview and
  5065. 9:46:27observation phase and WR them and prototyping that  is if we have for example a certain website and we
  5066. 9:46:35are developing a competitor to that website then  we can go to it and see how it works how certain
  5067. 9:46:41features are implemented on it and also to spell  them out in our requirements so there is nothing
  5068. 9:46:47complicated about it either it is also absolutely  necessary to constantly ask questions clarifying
  5069. 9:46:54how this or that functionality should be realized  in our product and you should not be shy to ask
  5070. 9:47:02them plus when you come for example to a project  you also need to find out one of the very first
  5071. 9:47:07things you need to know where the requirements  are stored in this company for example if they
  5072. 9:47:13are stored in some kind of tracking system like  J or Azure devops or if they are some kind of
  5073. 9:47:19specifications that are stored in word somewhere  or if they are a Wiki that is in Confluence for
  5074. 9:47:25example or again in Azure devops so we learn all  of this we learn how these requirements change
  5075. 9:47:31who is responsible for Gathering requirements who  we can talk to if we don't understand something
  5076. 9:47:36about a requirement that is we must specify all  this so that in the future our work would be the
  5077. 9:47:43most convenient for us and for the people for  whom we develop this product next let's talk in
  5078. 9:47:49general about what we check these requirements  for there are so-called properties of a good
  5079. 9:47:54requirement that is in essence the requirements  have requirements to their writing and composition
  5080. 9:48:00this is what we will mainly deal with when  we study some requirements for example let's
  5081. 9:48:05imagine a situation that analyst for example or  product owner has collected information from our
  5082. 9:48:12customer formalize these requirements in the form  of user story which we will talk about a little
  5083. 9:48:18bit further and we are connected to reviewing  this requirement and what we should check in
  5084. 9:48:23it there are seven requirements highlighted here  that we need to look at the first is completeness
  5085. 9:48:31what is that completeness means that the uh  requirement must contain all the information
  5086. 9:48:37necessary for developers testers or other people  who will work with it so we have to verify that
  5087. 9:48:45there's all the information in that requirement  and we shouldn't get distracted and go to other
  5088. 9:48:51requirements that we have in that system what  does consistency mean for example you have some
  5089. 9:48:57pictures in your requirement for example mockups  templates UI that will be implemented in the
  5090. 9:49:04product as part of this functionality and there's  text for example acceptance criteria that we have
  5091. 9:49:11in user story again we'll talk about user story  a little bit further on so don't be intimidated
  5092. 9:49:16these are essentially acceptance criteria  which are the criteria that determine that
  5093. 9:49:20our requirement is realized in this functionality  and for example this picture this mockup does not
  5094. 9:49:25correspond to the text that is written in the  requirement this means that the data in this
  5095. 9:49:31requirement contradicts each other the same  applies to various tables or if we know that
  5096. 9:49:36a requirement says one thing but this requirement  says something else that does not fit with what we
  5097. 9:49:41know about again there is a contradiction  that's not the way it should be we should
  5098. 9:49:47write to our business analyst for example and say  that this requirement contradicts for example the
  5099. 9:49:54picture that is attached to it next there is such  a property as correctness that is the requirement
  5100. 9:50:02should clearly indicate what the application  should do there should not be for example some
  5101. 9:50:07double meaning words that is the system must  work correctly we must enter valid data that
  5102. 9:50:14is there should be no such thing we must clearly  understand what kind of data we must enter if it
  5103. 9:50:20is valid data then for example it must be clearly  stated that it is letters or it is numbers or it
  5104. 9:50:28is decimal fractions or it is special characters  or both that is all this must be correctly spelled
  5105. 9:50:34out the next property is interrelated with  correctness is not ambiguity again we have to
  5106. 9:50:43be clear about what we have written in this  requirement for example we're looking at a
  5107. 9:50:48six-pack there are two people on both sides one  person sees the six and the other person sees a
  5108. 9:50:54nine there shouldn't be anything like that we must  all work in the same information field in the same
  5109. 9:50:58context the next property is verifiability that is  our requirement must be unambiguously verifiable
  5110. 9:51:05as to whether it is fulfilled or not that is for  example if you realize that you cannot check it
  5111. 9:51:13in any way that is there are no such tools tools  or perhaps lack of your knowledge is a little bit
  5112. 9:51:19different question that is you can then turn to  a more experienced tester or developer and find
  5113. 9:51:25out whether it can be done at all or not if  we can't test it then uh there is no need for
  5114. 9:51:32such a requirement to be prescribed that is  we must be sure to tell the business analyst
  5115. 9:51:37about it or already developed these templates  mockups it can also look simply in the form of
  5116. 9:51:43a certain scheme for example it simply spells  out all the blocks that we have to have in our
  5117. 9:51:48application and for each block it spells out  what should be on each of these pages that
  5118. 9:51:52is to say there can indeed be such a variant of  writing requirements at times it might simply be
  5119. 9:52:00I don't know a piece of paper where it's written  that I want to get this that and the other just
  5120. 9:52:05in a very high level manner without any let's  say further clarifications on the topic so this
  5121. 9:52:12also happens if we are discussing startups or  smaller companies where there isn't a budget to
  5122. 9:52:16hire analysts or even where there are no testers  and then people just brainstorm and come up with
  5123. 9:52:22what should be implemented they get paid money  and in the future the customer just wants to get
  5124. 9:52:27a finished product so that for example he is not  Disturbed and doesn't have to specify what else he
  5125. 9:52:32wants from it this happens too but it's probably  extremely rare nowadays there can also be large
  5126. 9:52:37specifications that is these are documents that  also spell out our requirements business analysts
  5127. 9:52:43for example are already in charge of writing them  again if the customer requires it if that is the
  5128. 9:52:48way the company's process is structured then  can also happen and we test specifications in
  5129. 9:52:53the same way we find requirements we check these  requirements inside the specification according to
  5130. 9:52:58the properties of a good requirement and we give  let's say our verdict so that in the future we
  5131. 9:53:06can correct it and our requirement meets all the  necessary properties that you and I have studied
  5132. 9:53:11today this topic is very important for a tester  because testers are involved in requirements
  5133. 9:53:17analysis and you need to understand very well all  these properties that we have studied today today
  5134. 9:53:23we have studied what types of requirements there  are and in what form they can be presented don't
  5135. 9:53:28be alarmed if you get requirements as I said in  the form of a piece of paper that can happen too
  5136. 9:53:33that is anything can be in the form of claims the  main thing is how we will be able to test these
  5137. 9:53:38requirements and among other things how we will  be able to influence our requirement to be written
  5138. 9:53:46correctly in the end that's the kind of lesson we  got today I think you've learned something new if
  5139. 9:53:52you still have any questions then be sure to write  in the comments as usual I will try to answer them
  5140. 9:53:58all I also remind you that I have a telegram  Channel I also periodically post interesting
  5141. 9:54:06information about testing and eat there is also  our our little chat room where we discuss any
  5142. 9:54:12difficulties you have or questions related to  employment related to aspects of testing and
  5143. 9:54:20there's also Instagram where I occasionally answer  your questions and try to keep you entertained
  5144. 9:54:28with interesting posts about testing processes  and insights from my work be sure to subscribe to
  5145. 9:54:35this channel if you haven't and with that I bid  you farewell Welcome to our shalash bye [Music]
  5146. 9:54:58hello YouTube well I want to congratulate you the  day has finally arrived you and I are finishing up
  5147. 9:55:06a basic course for testers tester from scratch  on a topic like agile and we're going to take
  5148. 9:55:12a closer look today at one of the most popular  Frameworks that is used in agile which is Scrum
  5149. 9:55:19there are also a number of others which we won't  be emphasizing today if you're interested in
  5150. 9:55:25learning more about them we can talk about them in  the next few sessions so what is agile in general
  5151. 9:55:34agile is a a set of methods and principles agile  project management let's call it that you and I
  5152. 9:55:41remember the basic methodologies and software  development models that we covered a long long
  5153. 9:55:47time ago in one of our very first lessons on the  topic of testing from scratch the link to this
  5154. 9:55:53lesson will appear just above that is we talked  to you about the waterfall model about V model
  5155. 9:55:59about iterative models it is the iterative model  that is fundamental let's say in scrum in this
  5156. 9:56:05framework what are these agile project management  methods good for as we remember in the waterfall
  5157. 9:56:12model all the stages of development followed  each other that is first for example there was
  5158. 9:56:18gathering ideas writing requirements ments then  there was development then there was testing and
  5159. 9:56:24we could not return to the previous stage if  we were already at one of them that is we had
  5160. 9:56:29to start everything from the very beginning  Beginnings what are these Ed methods good for
  5161. 9:56:37because we can change our requirements we can  go back to the previous stages of our software
  5162. 9:56:42development without having this interconnection  with other stages that's why in the year 201
  5163. 9:56:51and 117 developers got together somewhere in a  resort if I'm not mistaken either in Canada or
  5164. 9:56:57in America and collected all their comments on  how they work with agile methods in development
  5165. 9:57:07so we wrote what we call the agile Manifesto in  this agile Manifesto there are four fundamental
  5166. 9:57:14values which became the progenitor of further all  these Frameworks and in general the system itself
  5167. 9:57:21the first is that people and interaction are more  important than processes and tools what does that
  5168. 9:57:29mean for example if your team has some principles  structures tools conditions that can hinder your
  5169. 9:57:38work then you need to get rid of them the most  important thing is that people should themselves
  5170. 9:57:45choose the way of this organization a set of  some processes tools and it it is these tools
  5171. 9:57:51and processes that should help the work not hinder  it that is why we first of all pay attention to
  5172. 9:57:57people and interaction but right away I would like  to point out the fact that even when we say that
  5173. 9:58:04something is more important than something else  we do not forget that processes and tools must
  5174. 9:58:09still be present in our project management and we  cannot somehow work without them the same goes for
  5175. 9:58:15the other Clauses for example the next value  that a working product is more important than
  5176. 9:58:20an exhaustive documentation that is not to say  that we shouldn't have any documentation at all
  5177. 9:58:25on a project but this documentation should not be  redundant and we should not spend a huge amount of
  5178. 9:58:31time and resources on it the main thing for us is  to deliver our working product our functionality
  5179. 9:58:37directly to the customer that's our number one  challenge so sometimes we can sacrifice exhaustive
  5180. 9:58:46documentation but again we can't exist without  documents either the next value is cooperation
  5181. 9:58:52with the customer is more important than agreeing  on the terms of the contract what does this
  5182. 9:58:57mean again there should not be any redundant  attachments to our contracts any documentation
  5183. 9:59:02that regulates our relationship with the customer  that is we should first and foremost pay attention
  5184. 9:59:08to the fact that we are comfortable cooperating  with each other we do not want to spoil our
  5185. 9:59:14relations with our customer therefore any of  our documents agreements cont contracts and so
  5186. 9:59:20on should contribute to maintaining a positive  relationship with our customers but in no way
  5187. 9:59:25should they spoil it so that's what is embedded  in this value and lastly the willingness to change
  5188. 9:59:32is more important than strictly following the  original plan so even if we have some kind of
  5189. 9:59:37project plan if we have some requirements spelled  out clearly we should always keep in mind that we
  5190. 9:59:45will still have some changes over time even if for  example we had some user story that we implemented
  5191. 9:59:51in some past iteration but still over time the  business may have other needs this functionality
  5192. 9:59:57may solve some other tasks in the future it  may need to be extended so it is important to
  5193. 10:00:02remember that there are always changes in agile  and in principle this system was created for this
  5194. 10:00:09purpose also in addition to these four values  there are 12 principles in the agile Manifesto
  5195. 10:00:15but we are not going to dwell on them in more  detail because in fact they just clarify these
  5196. 10:00:21four values and I will definitely leave a link to  this agile Manifesto that you can read everything
  5197. 10:00:29that concerns principles everything that concerns  values will be described there in great detail
  5198. 10:00:36that is you and I are doing a small overview  looking at how these processes can be implemented
  5199. 10:00:41in your company what ceremonies there will be what  there are rallies meetings artifacts and so on so
  5200. 10:00:48that you will not be afraid when you come to the  project and for example you will be invited to
  5201. 10:00:54some iteration planning that is uh you will not be  afraid of this rally you will know what objectives
  5202. 10:01:01are pursued it is this rally for you for the  tester as a member of the development team that
  5203. 10:01:08later on you will be trained how these processes  are organized in your company that is not always
  5204. 10:01:13companies use pure scrum there are some enhancers  for example something is not used in the scrum
  5205. 10:01:19that you have in your company of course this is  not quite right because we are going to talk about
  5206. 10:01:24pure scrum now and all these modifications do not  allow us to say that your company used exactly
  5207. 10:01:31the following pure scrum here these are let's say  the initial things that you should generally know
  5208. 10:01:38about agile about the agile manifest principles  and values next as we can see we've got 47 items
  5209. 10:01:47today that we need to cover within scrum of this  framework so the session is likely to turn out
  5210. 10:01:54to be quite long but I think it will be useful  for you so that you will not be afraid of this
  5211. 10:02:00name and this framework in your work in the future  there are three such main parts in scrum that is
  5212. 10:02:05the scrum team these are the events that we have  in scrum and the artifacts these are the ones that
  5213. 10:02:11we're going to talk about in detail now there are  also various metrics that allow us to evaluate the
  5214. 10:02:19effective iess of your team the effectiveness  of each individual team member and allow you to
  5215. 10:02:24make various reports reports for management and  for your customer we will also look at some of
  5216. 10:02:31them let's start with the scrum team there are  three links in a scrum team it's the product
  5217. 10:02:39owner it's the development team and it's the scrum  master and let's talk in more detail about each of
  5218. 10:02:45these members of our scrum team and what they do  product owner manages the product backlog next
  5219. 10:02:53we'll take a closer look at what it is but for  you to understand it's just a set of requirements
  5220. 10:02:57that we generally have to implement completely in  order to make our product is ready this backlog is
  5221. 10:03:05constantly updated new features new user stories  new requirements are added to it but it is the
  5222. 10:03:13product owner who collects these requirements  and let's say describes the backlog clarifies
  5223. 10:03:18it makes it transparent and understandable  for the development team which in the future
  5224. 10:03:23will be engaged in the implementation of this  functionality this user story in pure scrum
  5225. 10:03:28there's no such position as a business analyst so  basically the product officer does the tasks of a
  5226. 10:03:36business analyst to some extent yes despite the  fact that in many scrum companies there is such
  5227. 10:03:41a role as a business analyst but when we talk  about pure scrum there is no such specialist
  5228. 10:03:45no such separate let's say allocation we have a  product officer that is is the main task of the
  5229. 10:03:51product owner is to collect our backlog to bring  it into such a form that all members of the scrum
  5230. 10:03:58development team team understood requirements  that they need to realize also product owner
  5231. 10:04:06prioritizes the execution of these tasks in our  let's say backlog so that we understand what we
  5232. 10:04:13do first what we do second and basically those are  these are the kind of basic Tas TKS of a product
  5233. 10:04:21owner the next link is the development team or the  development team usually we have about 3 to nine
  5234. 10:04:28people in the development team so we don't need  more than that we don't recommend to include more
  5235. 10:04:34people in this development team because the more  people we have in our team the more we have let's
  5236. 10:04:40say dispersion of attention and our team ceases  to be as flexible as it would be if the team was
  5237. 10:04:47much smaller so what should be emphasized  about the development team the fact that
  5238. 10:04:52this part of our scrum team is self-organizing  in other words we don't need any leader to tell
  5239. 10:05:05us what we need to do all team members have  an equal influence on what are we going to
  5240. 10:05:14do every voice of a team member needs to be  heard and we self organize as a result of
  5241. 10:05:20working in one iteration or another in Sprints  and in general while working on a project when
  5242. 10:05:25we talk about cross functionality this  is the next aspect it means that every
  5243. 10:05:30team member possesses all the competencies  needed to to anything at all within your
  5244. 10:05:37team that is to say we do not separate our  team members into developers into testers or
  5245. 10:05:46into analysts that is we uh we assert that if  this person needs for instance to write code
  5246. 10:05:53he or she will be able to write it even though  he or she is primarily a tester yes of course
  5247. 10:05:58you might think now that this scenario seems  somewhat ideal um when we still maintain some
  5248. 10:06:06degree of specificity or specification let's say  of the people who work within the team yes that's
  5249. 10:06:14the way it is actually it is extremely rare that  absolutely all the team members have absolutely
  5250. 10:06:21the same competence in all the issues related  to requirements analysis development testing
  5251. 10:06:28and usually just some person let's take the same  tester he performs most of the tasks related to
  5252. 10:06:35testing but we should strive to ensure that  we still have guys in the team who perform
  5253. 10:06:40absolutely all the functions and can cover them in  case for example if one of the team members gets
  5254. 10:06:45sick so that can happen as well so it's perfect  scrum pure scrum we just memorize for ourselves
  5255. 10:06:51how it should work in an ideal world and what we  should remember is that there is such a concept as
  5256. 10:06:56collective responsibility that is for example even  if you are a tester there so you are essentially
  5257. 10:07:02responsible for the quality of the product but we  should always remember that every participant in
  5258. 10:07:07the team is responsible for the quality of the  product that is even including the law of some
  5259. 10:07:13simple logic we can say that in principle the  developer allowed the probability that we have
  5260. 10:07:20some bug in code in its implementation that is  in fact he's also responsible for this quality
  5261. 10:07:27even though for example when the tester misses  this bug and could not find it in full at the
  5262. 10:07:33right time in the right place because as we  remember exhaustive testing is impossible and
  5263. 10:07:39it is impossible to release a product that won't  have any box at all in any case something will
  5264. 10:07:47come up at some point so we have to remember  remember this that everyone is collectively
  5265. 10:07:52responsible for creating our increment increment  is this one piece of our functionality plus all
  5266. 10:07:58the other functionality that has been previously  implemented it's called an increment next we will
  5267. 10:08:04talk about it in a little bit more detail and  there is also such a role as a scrum master
  5268. 10:08:12so this is a separate person it's also called a  servant leader so this is a person who facilitates
  5269. 10:08:17the work in the team according to the SC scrum  that is he knows absolutely everything about
  5270. 10:08:22scrum how it should work what the main stages are  we have in scrum what ceremonies what artifacts he
  5271. 10:08:31helps us teaches us in case we have any questions  related to scrum how it should be realized guides
  5272. 10:08:37us but he is not involved in the development of  our increment he just gives us advice and can
  5273. 10:08:45tell us how we can do things better our task as  a development team with which basically decides
  5274. 10:08:50how we will behave during the iteration what we  will do by what deadline we will implement it how
  5275. 10:08:57we will evaluate certain requirements how we will  prioritize them after they have been prioritized
  5276. 10:09:05for example by the product owner he just helps us  that is the scrum Master facilitates the work of
  5277. 10:09:11the team and is responsible for making sure that  we work according to the scrum if we have such a
  5278. 10:09:17process adopted in the company so most likely when  you come to the company for example as a newcomer
  5279. 10:09:24and everything will really work according to scrum  the scrum Master will teach you train you tell you
  5280. 10:09:31how it should work tell you how the processes  are organized in your company and we'll let's
  5281. 10:09:35say morally support you so that you do not have  any questions related to the functioning of the
  5282. 10:09:40scrum scrum within your team within your project  the next aspect is events that we have in scrum
  5283. 10:09:50first of all let's talk about what a Sprint  is in general either you may often hear a
  5284. 10:09:54name like iteration a Sprint is a certain  time period about 2 minus 4 weeks that is
  5285. 10:10:02on average during which we create an increment  of a product that is ready for use that is that
  5286. 10:10:09already fully meets the requirements that we  take into work during the Sprint and that we
  5287. 10:10:13can say with complete confidence at the end of  the Sprint that they are ready to be used by our
  5288. 10:10:18end user or customer and we have four let's  say events that are tied to this Sprint this
  5289. 10:10:26is first of all Sprint planning or iteration  planning you may also come across that name
  5290. 10:10:33it's a daily scrum daili standup you also see  that name the Sprint review Sprint review and
  5291. 10:10:40retrospectives let's talk to you in more detail  about each of these ceremonies so what is Sprint
  5292. 10:10:46planning we usually have our entire SC scum  team come together for Sprint planning which
  5293. 10:10:52means product owner development team and uh scrum  Master it is held exactly at the beginning of our
  5294. 10:10:59Sprint and during this planning we decide what our  increment will be at the end of our Sprint and how
  5295. 10:11:08to organize our work during this situation here  to get a finished product increment next we're
  5296. 10:11:15going to look at what the backlog is but just  so you understand that is during our Sprint
  5297. 10:11:21planning we have a product backlog where we  store absolutely all the requirements that we
  5298. 10:11:25have for our product but during our planning we  choose what requirements we're going to implement
  5299. 10:11:30during our Sprint what we're going to take into  this iteration and what we're going to use to
  5300. 10:11:35work this is let's say the main goal of this event  is to Define exactly the Sprint backlog from the
  5301. 10:11:42product backlog the Sprint backlog is already a  set of requirements that we will Implement in our
  5302. 10:11:49Sprint in our iteration there is also such an  event such a ceremony as daily scram or delic
  5303. 10:11:55it is also called daily scram it's usually once  a day and at that daily scram you talk about what
  5304. 10:12:01you did yesterday what you're going to do today  and what are the obstacles you have for the goal
  5305. 10:12:07fulfillment that is if we talk about testing  for example yesterday I wrote a test case for
  5306. 10:12:13such and such a user story today I will write a  test case for the next user story and what what
  5307. 10:12:19are the obstacles to fulfill this goal for example  it's not entirely clear to me how developers will
  5308. 10:12:25Implement data use the story so what I want to  do today is to contact for example the developer
  5309. 10:12:33who's tasked with this requirement and find out  from him how it's going to be implemented what
  5310. 10:12:37he's going to do that's what you're saying if  you don't know how to get rid of that obstacle
  5311. 10:12:42for example you don't know what you need to do  the team comes to your Aid and tells you how we
  5312. 10:12:48can help you when you you have this or that  obstacle or hurdle to realize your goal for
  5313. 10:12:54example for today goes through for each member  of your development team they talk about all the
  5314. 10:13:03work they have planned or done and uh the problems  they have encountered and it usually takes about
  5315. 10:13:0915 minutes every day just to keep your hand on  the pulse and know what you're working on right
  5316. 10:13:15now we uh also have a Sprint review with which  is the task of which is to summarize what we
  5317. 10:13:24did during our Sprint we do a kind of review of  what we implemented during this Sprint checking
  5318. 10:13:30if all tasks were completed and all user  stories were closed so we are on this let's
  5319. 10:13:36say that's what we're discussing it is also  worth mentioning that there is also such a
  5320. 10:13:46thing as demo or demonstration of our increment  to our product owner or to the customer depending
  5321. 10:13:53on how you have this process organized and you  don't want to confuse the fact that at the Sprint
  5322. 10:13:58review we have to show how that increment Works  show that demo this is usually a separate event
  5323. 10:14:04that takes place after the Sprint review and in  principle we will not discuss it inside the scrum
  5324. 10:14:10now you just show this or that user story demo  it to the product owner for example and it says
  5325. 10:14:19yes everything is really implemented the way  we want it so these are small demonstrations
  5326. 10:14:25like this depending on the company it can be  after the Sprint review itself when you show
  5327. 10:14:31Absolutely all the user stories that you have  implemented in the course of this iteration or
  5328. 10:14:36for example by the degree of fulfillment of all  the user stories that is you have fulfilled one
  5329. 10:14:42particular user story you have carried out  demo did the second user story did demo that
  5330. 10:14:48is you can do it not in one event but just on the  outcome of when you do and do this or that user
  5331. 10:14:57story that is you develop it validate it during  the testing process and then you show it to your
  5332. 10:15:04product owner I hope I have clearly explained  what this is and there is also such an event as
  5333. 10:15:10a retrospective again you should not confuse  a Sprint review with a retrospective you'll
  5334. 10:15:15see why in a moment because in the retrospective  we have the main goal is that we find out again
  5335. 10:15:22whether we have accomplished all the tasks but  in relation to people to the development team
  5336. 10:15:27and in this meeting we find out what we could have  improved based on the results of your iteration
  5337. 10:15:32that you participated in so you answer a series  of questions usually how for example I have this
  5338. 10:15:40setup in my company or how it was set up in  a company where the I used to work before we
  5339. 10:15:45have a board that's divided into four let's say  columns in the First Column we write down what
  5340. 10:15:50we did well in the Sprint in the second column  we write what problems we had we in the Sprint
  5341. 10:15:57next we write how we can improve performance that  is how we can improve those problems we come up
  5342. 10:16:02with some action items and uh if for example we  have some ideas during the retrospective because
  5343. 10:16:07usually we prepare for the retrospective and come  up with action items before the retrospective so
  5344. 10:16:14if we get these ideas already in the course  of it then again we add this one to the board
  5345. 10:16:19usually we just put some stickers for example if  we are talking about retrospective when we have
  5346. 10:16:27offline let's say all the team members are present  but due to the current situation with the Corona
  5347. 10:16:31virus we are working remotely now that is we just  check the screen and write down all these let's
  5348. 10:16:38say problems or some good things that we had and  choose a certain top the main ones maybe some of
  5349. 10:16:44the team members have the same problems if they're  the same then we pick that top and decide how
  5350. 10:16:48we can improve that come up with some action  items that are carried over necessarily into the
  5351. 10:16:53next iteration and we have to in that iteration  improve our process in a way that solves that
  5352. 10:17:00problem we appoint let's say responsible persons  for this action item and we will also find out in
  5353. 10:17:07the next retrospective whether we were actually  able to get rid of this problem what was done if
  5354. 10:17:13we could not and this problem remains for example  and it is critical for us then we again move move
  5355. 10:17:18it to the next iteration and again we decide what  we're going to do how we're going to work on this
  5356. 10:17:24problem this is let's say the main four ceremonies  that we have associated with the Sprint I would
  5357. 10:17:31also like to draw your attention to artifacts  today we have already talked a lot about the
  5358. 10:17:38product backlog that is about the user stories  that we have to realize in order for a product
  5359. 10:17:43to be released let's say absolutely all the user  stories absolutely all the requirements that our
  5360. 10:17:49customers have and that the product owner has  added to our backlog we're going to see how
  5361. 10:17:54Jura implements this a little bit further so  that you have a picture of how you can track
  5362. 10:17:59this in front of you attached to the backlog is  shall we say such a ceremony as product backlog
  5363. 10:18:06refinement product backlog refinement what is  it in general the main purpose of this event is
  5364. 10:18:13to refine evaluate and organize the elements  in the product backlog that is for example
  5365. 10:18:19a scrum team and a product owner get together  and the product owner presents you some new
  5366. 10:18:24user stories he has written and if you have any  questions if you don't understand something you
  5367. 10:18:29ask the product owner questions and he explains  it and in case you need to rework this or that
  5368. 10:18:37user story it reworks it so that it is clear and  clear to you how this user story will be realized
  5369. 10:18:44for example in my team at refinements we also  evaluate user stories which we will talk about uh
  5370. 10:18:49with you a little bit later that is we decide how  many so called story points we assign to this or
  5371. 10:18:57that stora that is in essence it is the difficulty  of executing this or that user story but not the
  5372. 10:19:03time we spend on its execution next I will tell  you about such a thing as poker planning and you
  5373. 10:19:09will probably understand a little bit more what  I'm talking about there are also aspects such as
  5374. 10:19:13preparedness criteria and Readiness criteria how  are they different because sometimes the question
  5375. 10:19:19arises we hear the definition of ready and the  definition of done and in the Russian translation
  5376. 10:19:25you can find just criteria of Readiness and  we do not understand at all what this refers
  5377. 10:19:30to and let's take a moment to compare what the  Readiness criteria and the Readiness criteria
  5378. 10:19:35are the Readiness criteria are specifically  focused on the backlog level in other words
  5379. 10:19:40we evaluate the user stories that are provided to  us by the product owner to determine how well we
  5380. 10:19:47understand them and how clearly they are spelled  out for instance we check for any inconsistencies
  5381. 10:19:52according to the properties of good requirements  which we discussed in detail in the previous
  5382. 10:19:56lesson on requirements testing now the link will  appear at the top allowing you to refresh your
  5383. 10:20:04memory a little bit about the features we have so  these are specifically tailored towards the user
  5384. 10:20:10story our backlog these definition of ready  properties assist the customer in crafting
  5385. 10:20:16well-written user stories that are prepared for  development when we discuss the definition of
  5386. 10:20:22ready criteria and the definition of done they  already concentrate on the Sprint or release
  5387. 10:20:27level and they are already directly related to  the assessment of the degree of Readiness of our
  5388. 10:20:36functionality for instance if we set the Readiness  criteria at the moment let's say before iteration
  5389. 10:20:42planning then we use the definition of done at  iteration planning during Sprint planning here we
  5390. 10:20:49establish some key points by which we will assess  whether this or that functionality is ready or
  5391. 10:20:54not that is our definition of done helps  verify the work against all the requirements
  5392. 10:21:05of the project not just demonstrate that the  functionality works for example the definition
  5393. 10:21:10of done might include the following that we have  integration tests written and they all pass we
  5394. 10:21:15have unit tests written and they all pass for  example we have less than 10% of critical box
  5395. 10:21:21that is we choose such criteria of product  Readiness definition of done that allow us to
  5396. 10:21:28evaluate what we have ready this or that area  of work this or that functionality and we use
  5397. 10:21:38exactly the Readiness criteria in this case I'd  also like to draw your attention to user stories
  5398. 10:21:45again we talked about this when we discussed  and analyzing requirements and testing them let
  5399. 10:21:51me remind you a little bit of what they look like  so user stories are basically an intent statement
  5400. 10:21:57that describes something that the system should  do for the user so in the first approximation
  5401. 10:22:03it is some requirement that we have to realize  and it consists of the following some role in
  5402. 10:22:12the system that is as some role in the system I  can do something for something doing something is
  5403. 10:22:22some functionality that we have prescribed in  user story and for something is some value to
  5404. 10:22:28let's say our business for example as new users in  the system i' like to buy a phone to please myself
  5405. 10:22:38let's say we have a user story like this here  they are described like this that is there is
  5406. 10:22:43a basic statement and then we have acceptance  criteria that is acceptance criteria where we
  5407. 10:22:50describe in detail how this functionality will  be implemented in order to achieve this value
  5408. 10:22:56for the business and usually these acceptance  criteria when we talk about testing we take them
  5409. 10:23:01into account and test each of these acceptance  criteria we have to describe in our test cases
  5410. 10:23:06every acceptance criteria if we're talking about  any positive scenarios well also based on that
  5411. 10:23:12we write our negative scenarios and we can use  them for example to design design extended tests
  5412. 10:23:19extended tests extended testing that is we take  into account the acceptance criteria and test in
  5413. 10:23:25the same way as all the other requirements that  come to us for review according to the properties
  5414. 10:23:30of good requirements that you and I have already  talked about next what else I'd like to tell you
  5415. 10:23:35about is poker scheduling as I said we evaluate  our user Stories We rate them by complexity and
  5416. 10:23:44let's say we rate them in these abstract things  called story points there are several ways to
  5417. 10:23:51rate our user stories one of the most popular  is Booker planning let's take a look with you
  5418. 10:23:57what that looks like there are a number of online  tools that allow us to evaluate these user stories
  5419. 10:24:02that is we create a room where we specify all the  user stories that we are going to implement that
  5420. 10:24:07we have to evaluate for example for example at the  literacy plenary or for example at the reflection
  5421. 10:24:14depending on how it is organized in your company  and there is a series of numbers this is the
  5422. 10:24:20so-call Fibonacci series that is that is so you  understand usually in the Fibonacci series we use
  5423. 10:24:30the first two numbers are either 0 0 or 1 one for  example and the next numbers that follow the first
  5424. 10:24:39two numbers they are the sum of the previous two  numbers and so we have this Fibonacci series and
  5425. 10:24:46we already have the story points what are story  points they are such abstract numbers that allow
  5426. 10:24:51us to estimate the complexity of execution and  realization of our story point of our requirement
  5427. 10:24:58of our user story so we get some user story  and the whole development team uh development
  5428. 10:25:05team gets together and they decide how many story  points to assign we have this decision if we're
  5429. 10:25:10talking about for example a team that took place  based on our previous experience for example in
  5430. 10:25:16the last iteration we had had to develop uh  registration page which we spent this certain
  5431. 10:25:24amount of time on and we have the second one we  have user story which appeared in this iteration
  5432. 10:25:30for example here we already have the functionality  of password reset here we have for example the
  5433. 10:25:35functionality of password update the functionality  of for example updating your account name your
  5434. 10:25:41login for example in the system and you and I  compare these two Recs so we have the first one
  5435. 10:25:47for example we gave one story point in the last  iteration and we compare how much more complicated
  5436. 10:25:53compared to this first counter where we just  registered the system the second counter where we
  5437. 10:25:58already have much more acceptance criteria and we  assigned them this story point that is depending
  5438. 10:26:03on what kind of experience the developer has what  kind of experience for example the tester has how
  5439. 10:26:09long has he been working on the project is it a  new person or not he can have absolutely different
  5440. 10:26:14story points after that when all the members of  our development team team have voted we see if
  5441. 10:26:19these story points coincide if our vision of the  complexity and realization of this rack coincides
  5442. 10:26:27and if we get some let's say drop offs for example  someone voted one and someone voted 13 for example
  5443. 10:26:35for this story point we start a discussion and  people explain exactly why they voted that way
  5444. 10:26:43and in case for example after this explanation we  have the same let's say ideas that is someone can
  5445. 10:26:50convince someone that yes indeed there is not one  story point but 13 you and I revote and again look
  5446. 10:26:56at how we voted and so for each user story and  more team members have voted equally and evenly
  5447. 10:27:03and there are no more of these big dropouts  we decide how many story points to assign to
  5448. 10:27:09each user story that is in no way says how much  time we have to perform this or that user story
  5449. 10:27:15because often many people are mistaken when they  say that story points are tied to time now it's a
  5450. 10:27:22tie to the difficulty of performing a particular  task based on some of our previous experience I
  5451. 10:27:28hope I've made that clear to you so here are  these ways to evaluate and assign story points
  5452. 10:27:36in our user story also for example some teams use  uh jerseys Jersey sizes so there's XS there's s
  5453. 10:27:43there's M there's L there's XL so we can also use  t-shirts for example to assess the difficulty of
  5454. 10:27:49a task we can also evaluate for example the size  of dogs that is again there is a list of some dogs
  5455. 10:27:56for example starting from a Chihuahua and ending  with a Tibetan Mastiff that is we have such a row
  5456. 10:28:03in which the size of a dog will be responsible  for the size of a given user I mean that happens
  5457. 10:28:09too and coming back to our backlogs we talked to  you about the product backlog that is where we
  5458. 10:28:15keep absolutely all the requirements that we have  for for our product that we're developing there's
  5459. 10:28:21also a Sprint backlog as I said we choose exactly  what we're going to implement in this Sprint that
  5460. 10:28:28is we just drag and drop from the backlog of the  product backlog to the backlog of the Sprint next
  5461. 10:28:34I'll tell you how you can calculate exactly let's  say the maximum number of story points that we
  5462. 10:28:40can fit into our Sprint backlog because that will  determine how many tasks how many user stories we
  5463. 10:28:47can take into the development of a given iteration  product increment like I said is everything that
  5464. 10:28:53we've developed before and we develop at the end  of this iteration meaning you never have to say
  5465. 10:29:00that product increment is exactly what we're  developing in this particular of the iteration
  5466. 10:29:06and we'll provide it to the customer when it's  finished product increment is everything that
  5467. 10:29:12we have already developed before this iteration  plus this part of those Legacy features those
  5468. 10:29:19functionalities that we will develop in this  particular iteration and another aspect is
  5469. 10:29:25the various metrics that we use which regulate  for example how many tasks we can take on in a
  5470. 10:29:30particular iteration how quickly we can accomplish  them and generally view in Dynamics how it changes
  5471. 10:29:39let's say the number of tasks that we complete  over time so the first characteristic I'd like
  5472. 10:29:45to tell you about is velocity this is velocity of  our scrum team it is calculated as the arithmetic
  5473. 10:29:55average of the completed story points in the  previous Sprints so for example we have a new team
  5474. 10:30:02and we don't know the velocity because for example  we haven't finished the first iteration yet so we
  5475. 10:30:09take a certain number of story points in a given  iteration execute them and see how many we were
  5476. 10:30:15able to execute and so on with each iteration and  then when we have a certain amount of historical
  5477. 10:30:22data we can collect the arithmetic average over  these several iterations and say that according
  5478. 10:30:30to the statistics we can for example take 30  story points per iteration no more no less and
  5479. 10:30:37we set this goal so we can take more for example  in the next iteration for the same iteration
  5480. 10:30:45planning more than we have in our speed and the  next characteristic is capacity or capacity the
  5481. 10:30:51amount of available time of team members how is  it calculated that is we simply take here those
  5482. 10:30:58hours that we have per iteration for each specific  full time developer in our development team that
  5483. 10:31:07is if we have for example an iteration takes 10  days of which we know that we have two days off
  5484. 10:31:13we subtract these two days off from 10 we are left  with eight days and we know that the Working Day
  5485. 10:31:18for example uh we have 8 hours so we are8 multiply  by 8 and we get the figure 64 hours that is
  5486. 10:31:25our capacity our capacity per developer and we  multiply these 64 hours for example by the total
  5487. 10:31:32number of developers in our team and again this  helps us with our Sprint planning again we need
  5488. 10:31:39to put different risks in here because of the fact  that for example here we have a pandemic right now
  5489. 10:31:45that speed and Capac capity for example may depend  on the fact that some team members may get sick so
  5490. 10:31:52we pay attention to that as well again capacity  May decrease because we get some holidays again
  5491. 10:31:58we're taking these holidays away from it that is  we put all of this in right away and we assess the
  5492. 10:32:06risks before we plan this or that iteration this  is usually done by the scrum Master but just to
  5493. 10:32:13let you know that there are such characteristics  as speed and capacity and and then there are two
  5494. 10:32:19other metrics like the burndown chart and the  commodity flow diagram you and I we'll look at
  5495. 10:32:27them a little bit when we look at jir so let's go  over to jira with you and see how this can look
  5496. 10:32:33at all visually in Buck tracking and in a project  management system let's say I sincerely hope that
  5497. 10:32:41you have already downloaded jira or rather that  you have registered for it since we discussed
  5498. 10:32:46issues related to with the design of backtracking  reports in the 10 lesson and you should already be
  5499. 10:32:52a bit used to the interface of this backtracking  so let's go straight to the backlog tab here we
  5500. 10:33:00already have some project created and we have  a backlog I've created hypothetically several
  5501. 10:33:07user stories so this is basically our backlog  of the product where we have several stories
  5502. 10:33:13I also created a Sprint directly and we can  easily redirect let's say using drag and drop
  5503. 10:33:19our Stacks into our Sprint and now we have in our  Sprint backlog three user stories that we have to
  5504. 10:33:28fulfill we can go to the board of our project and  see that we have two user stories in total status
  5505. 10:33:36in order for us to see how they can be dragged  further I have dragged one of the total stories
  5506. 10:33:41to the D1 status that is when for example we  have already developed everything tested it
  5507. 10:33:49and have shown for example a demo and our  product owner has approved that yes indeed
  5508. 10:33:54this story has been tried and done correctly  according to those requirements those user story
  5509. 10:34:00acceptance criteria in which he prescribed  this is roughly what our board looks like
  5510. 10:34:05exactly in scrum of course there can be many  more stats many more let's say columns from
  5511. 10:34:12which we can pull some or other user stories also  here during our development we can have different
  5512. 10:34:17shuffles bugs can appear which we also transfer  by direct end drop from one status to another that
  5513. 10:34:24is all this can be done visually here too there  is nothing complicated about it just to get you
  5514. 10:34:32a little bit used to how it can look like and in  the user story itself we have as we see with you a
  5515. 10:34:40story point that is when you and I have evaluated  this uh the user story we add this evaluation
  5516. 10:34:47because this evaluation we later influence various  graphs and reports so that the product owner the
  5517. 10:34:53scrum Master can understand how far we are moving  towards the goal whether we are on time or not
  5518. 10:34:58and can later suggest some corrective let's say  measures in order to to improve our work and there
  5519. 10:35:08is also such a tab as reports and here we have  various kinds of analytical statistical things
  5520. 10:35:17first of all you might be interested in looking  at the burndown chart and the commodity flow
  5521. 10:35:22diagram there's also a velocity chart that is  how our velocity changes during an iteration
  5522. 10:35:28there are also various charts and reports that  allow management to evaluate team performance
  5523. 10:35:35and somehow influence it in case we see some draw  Downs if we talk about burndown chart then here we
  5524. 10:35:43simply collect the number of story points that we  take in our iteration that is for example we have
  5525. 10:35:48laid down six story points that is the sum of  all story points in our user stories is six and
  5526. 10:35:58we have let's say our ideal chart how it should  decrease that is we should gradually decrease
  5527. 10:36:03the number of story points and take them to work  so that everything would be smooth and when for
  5528. 10:36:10example we have something Beyond this line we can  analyze it for example scrum Master can analyze it
  5529. 10:36:18and provide a decision to the management on how it  can be improved what influenced it can communicate
  5530. 10:36:24for example with the team on how we can improve  it why we had such a jump in other words the
  5531. 10:36:30management of all these charts is already doing  the analysis so for example a tester a developer
  5532. 10:36:36just for General development to understand  where the team is at right now you can go
  5533. 10:36:40in there and look at that as for this cumulative  flow diagram it looks a little bit different here
  5534. 10:36:47that is again we have a legend here how many  entities let's say items are in total status
  5535. 10:36:55how many items are in in progress status and how  many items are in done status so again you and I
  5536. 10:37:02can monitor all this see if we really finish our  iteration on time let's say if the number of our
  5537. 10:37:09items in the too status is decreasing how many  items are in the done status that is all this we
  5538. 10:37:17can also analyze and the management also  understands if we really fulfill our goal
  5539. 10:37:23if we have time in the iteration to close all the  tests that we have planned and how we can improve
  5540. 10:37:30our process as a whole so that we don't have these  issues in the future that's probably all I wanted
  5541. 10:37:37to tell you in this big shall we say overview  related to Agile and in particular related to
  5542. 10:37:46scrum I will leave you a link to Planet Oker so  that you can see what this tool is and how it
  5543. 10:37:52works I'll leave you a link to the agile Manifesto  so that you can also familiarize yourself with it
  5544. 10:37:58read about the principles read about the values  that are in the agile Manifesto I will also give
  5545. 10:38:05you a link to the scrum guide which you should  also read Because here is a detailed description
  5546. 10:38:11of what I told you today let's say so briefly plus  there are some additional things that I didn't pay
  5547. 10:38:17attention to because I think that for a beginner  tester you don't need to dive into these points
  5548. 10:38:24very much but for General development you should  read it because it is a fundamental document to
  5549. 10:38:30implement scrum in your company and to comply  with it the requirements that we have spelled
  5550. 10:38:36out in this guide and I'll also leave a link to  kban guide which we haven't talk to you about
  5551. 10:38:42today I've never worked with it with kba and I  have a rough idea of what it means if you will be
  5552. 10:38:47interested I can record a small video about kban  but for this you don't need also to prepare but
  5553. 10:38:54you can also read it that is here as well as  about scrum all the basic aspects that are
  5554. 10:38:59required to this framework are spelled out so  it is also on Merit read about it's definitely
  5555. 10:39:05not going to be redundant and at the end of our  class I would like to congratulate you once again
  5556. 10:39:11on the fact that we have finished the course of  tester from scratch and in fact already now you
  5557. 10:39:17can apply for positions in different companies  respond try to get an interview try to communicate
  5558. 10:39:25with recruiters make sure you have a page in  LinkedIn design your resume design a cover letter
  5559. 10:39:31so it's a great time for you to start looking  for jobs once again I advise you to revisit those
  5560. 10:39:38videos that you did not learn very well practice  on the various resources that we talked about in
  5561. 10:39:44this course practice on VAR sites that is just  go to the site choose the registration form and
  5562. 10:39:52test test test make test cases make checklists  make bug reports download the mobile application
  5563. 10:39:59test it according to the features and testing  of mobile applications that we talked about
  5564. 10:40:05spoke with you as well discover some bugs ask me  questions inquire in our telegram channels which
  5565. 10:40:12are specifically dedicated to assisting you in  understanding various asp ects of testing you can
  5566. 10:40:19message me on Instagram once again all the links  are provided just like in the video description
  5567. 10:40:24so they will appear on the screen shortly don't  hesitate to chat chat explore google google google
  5568. 10:40:31google and find answers to your questions and I  truly hope that this course and these lessons will
  5569. 10:40:38genuinely assist you in understanding testing and  securing your first job oh see you very soon we
  5570. 10:40:47will begin to delve into uh uh various aspects of  testing more thoroughly and learn how to utilize
  5571. 10:40:55the different tools that I employ in my work  we will communicate share positive emotions and
  5572. 10:41:01grow together this is the most important thing and  as is our tradition please come to our Shala bye
  5573. 10:41:17[Music]

About this transcript

This page contains the full transcript of QA Engineer From Scratch FULL AUDIO ENGLISH COURSE by Artsiom Rusau QA Life, generated from the public captions YouTube serves with the video. The transcript has 96,496 words across 5,573 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.