-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathQA Craft
76 lines (55 loc) · 3.43 KB
/
QA Craft
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
How to ...
Execute UI test automation in C#/SpeFlow against a public website from VSTS
target: http://automationpractice.com
solution:
https://blogs.msdn.microsoft.com/devops/2016/01/27/getting-started-with-selenium-testing-in-a-continuous-integration-pipeline-with-visual-studio/
https://blogs.msdn.microsoft.com/devops/2017/04/04/integrating-smoke-tests-into-your-continuous-delivery-pipeline/
Find a public services for Web API test (with a bug?)
https://jsonplaceholder.typicode.com/
Select a Load Test tool in C#
Select a (Home)page with HTTPS and generate following load against it
1000 Users visit page in 15 seconds
What is the optimal application response time for modern day web app
The basic advice regarding response times
0.1 second is about the limit for having the user feel that the system is reacting instantaneously,
meaning that no special feedback is necessary except to display the result.
1.0 second is about the limit for the user's flow of thought to stay uninterrupted,
even though the user will notice the delay.
Normally, no special feedback is necessary during delays of more than 0.1 but less than 1.0 second,
but the user does lose the feeling of operating directly on the data.
5 - 10 seconds is about the limit for keeping the user's attention focused on the dialogue.
For longer delays, users will want to perform other tasks while waiting for the computer to finish,
so they should be given feedback indicating when the computer expects to be done.
Feedback during the delay is especially important if the response time is likely to be highly variable, since users will then not know what to expect.
[How to "write code in a maintainable way", the ideal way?]
SOLID
Single Responsibility Principle
Open for extension / close for modiication
Liskov substitution principle - inter-changable subtype based on "contract" like inheritance / interface
Interface segregation principle - Clients should depend ONLY on method they use
Dependency inversion principle - depend on abstraction, not concretions
[Express the desire to "learn the right lesson"]
Q: What are the "Right Lessons" for test automation developer
[Need to understand and internalize unique needs of different customers' - this helps sets more apporiate priorities]
["methodical point of view" with QA]
"code as infrastructure" in terms of testing
=> treat infrastructure as code
=> test and debug infrastructure
=> use case, test case and test automation should include
the configuration and environments as part of the controlled variables aand test data set
that can be switched and tested like the rest of the code base
["a QA person and software engineer- a bridged role"]
Acceptance Test:
A test written by the business for the purpose of ensuring that the production code does what
the business expects it to do. The authors of these tests are business people,
or technical people who represent the business. i.e. Business Analysts, and QA.
[.NET]
Instrumentation of code
System.Diagnostics.Trace.WriteLine("messages about the execution at runtime");
System.Diagnostics.Debug.WriteLine("DEBUG conditional compilation symbol is defined for debug builds");
MOQ pattern
Arrange - create mock object for application under test (AUT)
Accept - execute AUT for a state change
Assert - verify AUT state
moqObjectClassName.Setup(x =>x.MethodToSetupTestData(It.IsAny<InputType>))
.Retuen(() => valueToBeReturnedByMethodToSetupTestData);