Failure Sharing

Bootup your energy with sharing failure.

Approach for checking cache server behavior for migration (Varnish)

Version is the latest?

varnishlog, varnishncsa, varnishd can be accessible and available

// Log when failed due to not enough permission
/etc/varnish$ varnishstat 
.....
Could not get hold of varnishd, is it running?

default.vcl difference should be tested

(Cache Hit rate) User agent normalization

e.g. If the cache is for API, response should be same for ALL user agents.
e.g. Cache for iPhone6 and 7 should be same.

(Cache Hit rate) Accept-Encoding normalization

varnish-cache.org

Software Testing Interview

This content is from 'edureka' and I'm just taking a memo referring to it.

Top 50 Software Testing Interview Questions To Know In 2021 | Edureka

Senior Software QA Automation Engineer

  • Job Summary : Plan, design, execute and report software tests (with automation technique). Supervise a team of software testers.

1. Test Cycle

Planning, Case development, Env setting, Execution, Closure

2. What are the different methods of testing?

There are three methods of software testing and they are as follows:

  • Black-box testing : It is a testing strategy based solely on requirements and specifications. In this strategy, it requires no knowledge of internal paths, structures, or implementation of the software being tested.
  • White box testing : It is a testing strategy based on internal paths, code structures, and implementation of the software being tested. White box testing generally requires detailed programming skills.
  • Gray box testing : It is a strategy for software debugging in which the tester has limited knowledge of the internal details of the program.

3. Bug/Defect Life Cycle

f:id:woosyume:20210322202454p:plain

4. What is Non Functional Testing?

Performed after functional testing, Based on customers expectations (Functional Test is based on requirement) Non-Functional Testing is normally conducted during System and Acceptance Testing levels. Normally, White Box Testing method is used. (Exception is Usability Testing where black box testing method is used.) * Usability Testing * Performance Testing * Security Testing * Compliance Testing

7. What is Verification and Validation in Software Testing?

  • Verification: It is a static analysis technique. Here, testing is done without executing the code. Examples include – Reviews, Inspection, and walkthrough.
  • Validation: It is a dynamic analysis technique where testing is done by executing the code. Examples include functional and non-functional testing techniques.

8. Category of defects

f:id:woosyume:20210322202736p:plain

9. Different type of Test coverage

  • Statement coverage : It ensures that each line of source code has been executed and tested.
  • Decision coverage : It assures that every decision (true/false) in the source code has been executed and tested.
  • Path coverage : Here we ensure that every possible route through a given part of the code is executed and tested.

10. Environment reality / Test phase

f:id:woosyume:20210322203055p:plain

11. Cost impact from when defect is found

f:id:woosyume:20210322203204p:plain

12. BVA(Boundary Value Analysis)

Boundary Value Analysis (BVA) is a black box test design technique which is applied to see if there are any bugs at the boundary of the input domain.

13. Random Testing (= Adhoc, Monkey Testing)

f:id:woosyume:20210322203333p:plain

14. what basis you can arrive at an estimation for your project?

  • Divide project to milestones
  • Extract necessary tasks
  • Estimate

15. General order between black box and white box testing

Black -> White due to the amount of knowledge

16. AT's Success Criteria

* Maintainability * Defect Detection Ratio * Automation execution time and time savings to release the product * Reduction in Labour & other costs

17. What kind of input do we need from the end user to begin proper testing?

f:id:woosyume:20210322204247p:plain

18. What is meant by workbench concept?

A workbench at its core is a way of documenting how a specific activity has to be performed. It is often referred to as phases, steps, and tasks as shown in the following figure. f:id:woosyume:20210322204404p:plain There are five tasks for every workbench and they are as follows: Input Execute Check Production output Rework

19. What is meant by Defect Cascading?

Defect cascading is a defect which is caused by another defect. One defect triggers the other defect. When a defect is present in any stage but is not identified, hide to other phases without getting noticed. This will result in an increase in the number of defects.

Let us understand this by an example.

You are designing the Login Module of a WebPage:

  • In phase 1 – You are designing Register User Module for Login and mobile number is mandatory but you can leave it blank due to a bug that gets unnoticed.

  • In Phase 2 – You will design the login form having username and password. The password is OTP which will be sent to User’s registered mobile number.

Now as Register module has a bug that mobile number can be left blank so this may lead to Login failure or maybe some system error or crash if a null mobile number is not handled. This is known as defect cascading.

RSGT2020に当選しました。

コンテンツについての自信はあったものの、競争が激しすぎて しばらく忘れていたら、昨日当選の連絡が届きました。 嬉しいー

落選したプロポーザルもいくつか閲覧してみましたが、全部がすごすぎて 僕もその分いい内容がお伝えできるように、 しっかりと準備しようと思います。

Java Stream API

Stream API

データソースに対して様々な処理を行うAPI。 集計処理や加工が目的

How to use

  1. Streamの取得
  2. 中間操作
  3. 終端操作 いわばパイプライン処理と言える。

How to get

  1. stream() on Collection / Arrays
  2. lines() on Files / BufferedReader
  3. of() on Stream

forEach(Consumer)

  1. forEach
  2. forEachOrdered ... ensure input order

StreamAPI 種類

  1. filter(Predicate<? super T> predicate) : 条件に合致する要素を抽出する。
  2. map(<? super T, ? extends R>) : 要素を別の型に変換する。mappingって感じ
  3. peek(Consumer<? super T> action):要素の変更はなく、中間操作の確認のためのデバッグ用メソッド

allMatch(Predicate)

하나라도 틀리면 false

        Predicate<String> test = n -> {
            System.out.println("Checking ... / ");
            return n.contains("ld");
        };

        list.stream().filter(c -> c.length() > 5).allMatch(test);

Collectors

        List<Employee> emp = Arrays.asList(
            new Employee("101", "woosyume1", "Osaka"),
            new Employee("102", "woosyume2", "Tokyo"),
            new Employee("103", "woosyume3", "Osaka")
        );

        emp.stream().collect(Collectors.groupingBy(Employee::getLoc))
        .forEach((src, res) -> System.out.println(res));
[Employee [id=102, loc=Tokyo, name=woosyume2]]
[Employee [id=101, loc=Osaka, name=woosyume1], Employee [id=103, loc=Osaka, name=woosyume3]]

이 때 src는 소스...getLoc의 값

peek

        list.stream().map(f).peek(a -> System.out.println(a)); // peek만으로는 아무것도 표시되지 않는다. 중간처리이기 때문에

【Appium導入】Set Dev environment for Android (Android開発環境のセット)

インストール

brew cask install android-sdk
android 
*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Invalid or unsupported command ""

Oh...AndroidStudioインストール時間かかるから、iOSからしよう。